그래서 저는 꽤 오랫동안 파이썬으로 진지한 작업을 수행하고 있습니다. 그러나, 나는 때때로 그것과 함께 몇 가지 문제를 가지고있다.별도의 폴더에서 Python 스크립트를 가져 오는 올바른 방법
파이썬으로 작업 할 때 PyCharm CE
을 사용하면 가장 편안하다고 느낍니다. 일반적인 시나리오는 방금 새 virtualenv
을 만들고 PyCharm을 시작한 다음 내 virtualenv
을 열어 놓는 것입니다. 그리고 거기에서부터 오토 파일럿과 비슷하게, PyCharm은 site-packages
과 파이썬 런타임과 관련된 모든 더러운 작업을 처리합니다.
나는 언제나 내 virtualenv
을 깨끗하고 체계적으로 유지하고 싶어서, 의미 상으로는 내 소스 코드를 하위 모듈/하위 폴더로 체계적으로 정리하고있다. 따라서 어떤 코드 나 클래스 또는 다른 폴더에서 가져온 항목을 가져오고 싶을 때마다 가져옵니다. 내가 some_script.py
에서 구현 A()
라는 기능을 사용하려면, foo.py
어딘가에 지금
├── bin
├── include
├── lib
└── src
├── foo.py
├── important_scripts
├── some_script.py
└── some_other_script.py
└── pip-selfcheck.json
:
내가 내virtualenv
에서 다음과 같은 구조를 가지고 상상해보십시오. 분명한 방법은
foo.py
에 간단한 줄을 추가하는 것입니다.
from some_script import A
과 같습니다. PyCharm에서 내 코드 (이 경우에는
foo.py
)를 실행하고 디버깅 할 때 완벽하게 작동합니다.
앞서 설명한 일반적인 시나리오와는 대조적으로 Terminal.app
에서 동일한 작업을 수행하려고했습니다. 그래서 나는 터미널 cd
을 내 virtualenv
에 발사하고 활성화시킵니다. 그런 다음, 내 에있는 bin
폴더 아래에있는 Python 실행 파일을 사용하여 foo.py
을 실행하려고합니다 (적어도이 코드는 마우스 오른쪽 버튼으로 클릭하고 PyCharm 창에서 foo.py
을 실행하는 것과 같습니다). 죄송하지만 ModuleNotFoundError: No module named 'some_script'
오류가 발생합니다.
단순한 세부 사항이 빠져 있다고 생각합니다. 내가 말했듯이, 그것은 PyCharm에서 실행될 때 마술처럼 작동합니다.
어쨌든, 조언이나 도움을 주시면 감사하겠습니다. 미리 감사드립니다.
[하위 디렉토리에서 파일 가져 오기] (https://stackoverflow.com/questions/1260792/import-a-file-from-a-subdirectory)를 참조하십시오. – Galen