- pycharm에서 Django 프로젝트 만들기
- pycharm 설치 참고 블로그
https://nadocoding.tistory.com/102
파이썬 개발 환경설정 - 파이참 (PyCharm)
파이썬 개발 환경설정 - 파이참 (PyCharm) 편입니다. ※ 본 포스팅은 윈도우 10 기준으로 작성되었습니다. ※ 파이썬 설치는 아래 링크를 참고해주세요. 👉 https://nadocoding.tistory.com/4 [파이썬 기본편]
nadocoding.tistory.com
- 원래 있던 git hub에 있는 코드를 git bash를 사용해서 코드를 가져오기
git bash 설치 참고 블로그
[Git] Git Download 깃 설치하기 : 초보자를 위한 상세 가이드
안녕하세요 :) 오늘은 깃(Git) 설치하는 방법에 대해 알아보도록 하겠습니다. 1. Git 파일 다운로드 https://git-scm.com/downloads Git - Downloads Downloads macOS Windows Linux/Unix Older releases are available and the Git source
sfida.tistory.com
- 깃허브에 있는 코드 url주소 가져오기
- 이제 내가 만든 깃허브 레포지토리에 추가할 거임
- 근데 다른 사람 코드를 가져오면 기록이 남기 때문에 지워줄 거임
la -al은 숨긴 폴더를 볼 수 있음
- 여기서. git이라는 폴더가 깃 정보를 다 가지고 있기 때문에 지워줘야 됨
- git init -> 마스터
- git hub에 다시 업로드하기
- git bash에 명령어를 입력하다 보면 에러를 만남
- 아직 스테이지로 넘어가지 않은 파일들이 있음
- 여기서. add를 시켜주면 모든 변경 사항을 스테이지에 올리고, 이 상태에서 커밋이 됨
- git사용자 정보가 등록되어 있지 않아 발생하는 문제였음
- 본인 git hub 아이디를 입력해 주면
- 이렇게 잘 push 된 걸 확인할 수 있음
- 확인해 보면 커밋이 잘 된 걸 확인할 수 있음.
- PyCharm 터미널을 Git Bash로 바꾸는 방법
- pycharm에 터미널 로컬을 git으로 바꾸고 싶다면 tool에서 편집하면 됨
- 변경 후 터미널을 다시 클릭하면 바뀐 걸 확인할 수 있음
- 하면 requirements를 설치됨
- 여기서 밑에 있는 url을 클릭하면
- not found가 생성되는 이유는 main.html로 바로 들어가도록 설정을 안 해줬기 때문에 /main으로 입력해 주면
- vpc1에 있는 퍼블릭 공간에 있는 web에 bastion에 ssh를 활용해서 연결해 준 상황
- xshell에 ssh파일을 연결해서
- 내가 깃허브에 올려둔 파일을 클론 해주기
ubuntu@ip-10-10-5-112:~$ git clone https://github.com/YUMZII/aws_toy_project
ubuntu@ip-10-10-5-112:~$ git clone https://github.com/YUMZII/aws_toy_project
Cloning into 'aws_toy_project'...
-> 실행시간이 너무 오래 걸림
오류/ 해결 방안
- 위의 코드를 입력해 줬는데 잘 안됨
ubuntu@ip-10-10-5-112:~$ curl -v http://github.com
* Host github.com:80 was resolved.
* IPv6: (none)
* IPv4: 20.200.245.247
* Trying 20.200.245.247:80...
* connect to 20.200.245.247 port 80 from 10.10.5.112 port 60154 failed: Connection timed out
* Failed to connect to github.com port 80 after 132667 ms: Couldn't connect to server
* Closing connection
curl: (28) Failed to connect to github.com port 80 after 132667 ms: Couldn't connect to server
- 이러한 오류가 발생함
#root -> ubuntu로 갈때
root@ip-10-10-5-112:~# cd
root@ip-10-10-5-112:~# su - ubuntu
ubuntu@ip-10-10-5-112:~$
root@ip-10-10-5-112:~# env | grep -i proxy
root@ip-10-10-5-112:~# git config --global --get http.proxy
root@ip-10-10-5-112:~# git config --global --get https.proxy
root@ip-10-10-5-112:~# su - ubuntu
ubuntu@ip-10-10-5-112:~$ git config --global --get http.proxy
http://proxy-server:port
-> 프록시를 확인해 봤는데 git내부에서 프록시를 사용하려고 하고 있는 상태임
ubuntu@ip-10-10-5-112:~$ git config --global --get https.proxy
-> 아무것도 안 뜨면 괜찮음
ubuntu@ip-10-10-5-112:~$ git config --global --unset http.proxy
-> 그래서 프록시 설정을 제거해 줌
ubuntu@ip-10-10-5-112:~$ git config --global --get http.proxy
-> 아무것도 생성 안된 걸 확인할 수 있음
그래도 안됨
ubuntu@ip-10-10-5-112:~$ nslookup github.com
Server: 127.0.0.53
Address: 127.0.0.53#53
-> 지금 nslookup github.com 실행 결과에서 실제 IP (20.200.245.247)가 반환되었으므로, DNS 자체는 정상적으로 작동하고 있는 상태야.
즉, 8.8.8.8이 아니라도 괜찮음
Non-authoritative answer:
Name: github.com
Address: 20.200.245.247
-> github는 잘 받아오는 걸 확인할 수 있음
-> 퍼블릭 ip가 없어서 안된 상황;;;
잘 해결됐고 이제 다시 시작
sudo apt update
sudo apt install python3-pip
sudo apt install python3-venv -y
python3 -m venv aws_env
pip install -r requirements.txt
(aws_env) ubuntu@ip-10-10-5-112:~/aws_toy_project$ python3 manage.py migrate
Traceback (most recent call last):
File "/home/ubuntu/aws_toy_project/manage.py", line 11, in main
from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named 'django'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/ubuntu/aws_toy_project/manage.py", line 22, in <module>
main()
File "/home/ubuntu/aws_toy_project/manage.py", line 13, in main
raise ImportError(
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?
확인사항 (중요!)
- (aws_env)라는 가상환경이 활성화된 상태에서 반드시 설치 필요
- 만약 requirements.txt 파일이 없다면 아래 명령으로 직접 Django 설치가 필요함
- pip install django
(aws_env) ubuntu@ip-10-10-5-112:~/aws_toy_project$ python3 manage.py makemigration
Traceback (most recent call last):
File "/home/ubuntu/aws_toy_project/manage.py", line 22, in <module>
main()
File "/home/ubuntu/aws_toy_project/manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "/home/ubuntu/aws_toy_project/aws_env/lib/python3.12/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
utility.execute()
File "/home/ubuntu/aws_toy_project/aws_env/lib/python3.12/site-packages/django/core/management/__init__.py", line 416, in execute
django.setup()
File "/home/ubuntu/aws_toy_project/aws_env/lib/python3.12/site-packages/django/__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "/home/ubuntu/aws_toy_project/aws_env/lib/python3.12/site-packages/django/apps/registry.py", line 91, in populate
app_config = AppConfig.create(entry)
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ubuntu/aws_toy_project/aws_env/lib/python3.12/site-packages/django/apps/config.py", line 193, in create
import_module(entry)
File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
File "<frozen importlib._bootstrap>", line 1324, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'rest_framework'
(aws_env) ubuntu@ip-10-10-5-112:~/aws_toy_project$ python3 manage.py migrate
Traceback (most recent call last):
File "/home/ubuntu/aws_toy_project/manage.py", line 22, in <module>
main()
File "/home/ubuntu/aws_toy_project/manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "/home/ubuntu/aws_toy_project/aws_env/lib/python3.12/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
utility.execute()
File "/home/ubuntu/aws_toy_project/aws_env/lib/python3.12/site-packages/django/core/management/__init__.py", line 416, in execute
django.setup()
File "/home/ubuntu/aws_toy_project/aws_env/lib/python3.12/site-packages/django/__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "/home/ubuntu/aws_toy_project/aws_env/lib/python3.12/site-packages/django/apps/registry.py", line 91, in populate
app_config = AppConfig.create(entry)
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ubuntu/aws_toy_project/aws_env/lib/python3.12/site-packages/django/apps/config.py", line 193, in create
import_module(entry)
File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
File "<frozen importlib._bootstrap>", line 1324, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'rest_framework'
pip install django
pip install djangorestframework
python3 manage.py makemigrations
python3 manage.py migrate
- 127.0.0.1은 자기 자신을 가리키는 ip로 로브백 로컬리스트랑 똑같음
이 장고 페이지가 내 pc에만 생성됨
이 서버를 다른 pc에도 보이게 하고 싶다면 0.0.0.0:8000으로 해주면 됨
오류 /해결방법
(aws_env) ubuntu@ip-10-10-5-112:~/aws_toy_project$ python3 manage.py runserver 0.0.0.0:8000
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
Error: That port is already in use.
-> 기존 실행 중인 프로세스를 중지하고 새로 불러옴/ 수시로 위와 같은 에러가 발생하기 때문에 자주 사용할 것 같음
(aws_env) ubuntu@ip-10-10-5-112:~/aws_toy_project$ sudo lsof -t -i :8000
17087
(aws_env) ubuntu@ip-10-10-5-112:~/aws_toy_project$ sudo kill -9 17087
(aws_env) ubuntu@ip-10-10-5-112:~/aws_toy_project$ python3 manage.py runserver 0.0.0.0:8000
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
March 12, 2025 - 08:24:20
Django version 5.1.7, using settings 'djangoProject.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.
python3 manage.py runserver
python3 manage.py runserver 0.0.0.0:8000
- 8000번 포트번호를 인바운드에서 열어줌
- 잘 된 걸 확인할 수 있음
pycharm에서 코드 수정하고 git에 바로 업로드하는 방법
git add .
git push
하면 수정 됨
aws에 EC2로 서비스, github로 코드 수동 배포
- 근데 여기서 우리가 한 것까지 봤을 때 문제점은 터미널을 닫으면 서버가 죽는 것이 문제임
- 이런 문제를 해결하기 위해서는 다음 편에 계속
'Python' 카테고리의 다른 글
코딩테스트 - python 모음 (0) | 2024.11.27 |
---|---|
문자열 섞기/ Python/ 3가지 방법 - 설명 (4) | 2024.09.18 |
시간복잡도 - 개념 (0) | 2024.09.13 |
프로그래머스/ python/ 등차수열의 특정한 항만 더하기 + 설명 (2) | 2024.09.10 |
코딩테스트 / 문자열 섞기/ Python + 설명 (2) | 2024.07.11 |