작은 파이썬 program을 작성했습니다. 다시 좋은 구조를 만드는 데 어려움을 겪고 있습니다.어디서나 파이썬 프로그램을 실행할 수있게 만들었습니다
며칠 전 나는 from a import b
수입에 대해 조언과 수입 (I 가져올 무엇을 프로젝트 루트에서 전체 경로)를 항상 import a.b
"프로젝트 절대"경로를 사용하는 것이 좋습니다 blog 및 다른 많은 웹 사이트를 참조하십시오. 그걸 배경으로.
저는 python -m <directory>
으로 프로그램을 실행할 수 있도록 __main__.py
을 포함 시켰습니다.이 프로그램은 수백 개의 파이썬 가져 오기 질문 중 하나에서 stackoverflow에 대한 다른 사람의 추천이었습니다. 다른 프로젝트에서 문제가되었던 동일한 가져 오기 구조로 코드를 실행 가능하고 테스트 가능하게 유지하는 데 도움이됩니다.
이제 내 시스템의 어느 곳에서나 python -m <dir of my code>
을 실행할 수 있으며 한 디렉터리에서 RSTCitations
디렉터리까지 실행할 수 있습니다.
내가없는 그, 달성 할 수있는 방법 :
- 파이썬 경로 (더러운 해킹 있습니다) 조작
- 다른 어두운 마법을 일을하지 않는 것이 좋습니다 수입 구조
- 을 어떻게 든 내 수입을 변경하고 점점 내 코드
내 코드를 구성하는 데있어 우수 사례를 고수하고 싶지만 터미널에있는 모든 위치에서 실행 가능하도록하고 싶습니다. 경로 가 올바른지입니다 그러나
/home/user/development/anaconda3/bin/python: No module named /home/user/development/rst-citations-to-raw-latex/RSTCitations
: 내 프로그램에 다른 디렉토리 전혀 관계가없는에서 설명 된 바와 같이 나는이 프로그램을 실행하면
실패의
'from a import b '(그리고 참으로 당신이 참조한 블로그는 그것에 대해 추천하지 않습니다 *)와 아무런 문제가 없습니다. –
패키지를 pip에 설치해 보셨습니까? –
@AlexGarcia 아니요. 사용자가 아무 것도 설치하지 못하도록하고 싶습니다. (어쩌면 장래에 내가 업로드 할 것입니다. 어디서든 내 프로그램을 실행할 수 있어야합니다. – Zelphir