0

네트워크 응용 프로그램에 virturalenv가 있습니다.종속성이 수정 된 Python 프로젝트 관리

. 
|-- main.py 
|-- modules //(The name modules is domain specific, don't confuse with python modules) 
| |-- __init__.py 
| `-- plotter.py 
|-- network 
| |-- __init__.py 
| |-- socket 
| | |-- server.py 
| | `-- tcp_server.py 
| `-- SocketServer 
|  |-- tcp.py 
|  `-- udp.py 
|-- README.md 
`-- r-ve (this is the virtualenv container) 

network 폴더 connnection managament을 처리하고 modules 폴더가 네트워크 데이터를 사용하는 네트워크에 의존에는 다음과 같은 디렉토리 구조를 가지고있다.

이 프로젝트는 git-scm을 통해 제어되는 버전입니다. 이제는 그램 (gramme)이라는 종속성도 있습니다. 나는 pip를 통해 그램을 설치했고 그것은 virtual -v에서 r-ve에 존재한다. 모든 모듈은 그램에 의존합니다 (각 모듈 파일은 import gramme을 사용합니다).

프로젝트의 필요에 맞게 모듈을 코딩하면서 문법을 해킹하고 있습니다 (github에 그램을 포크했습니다). 이 해킹 된 그램을 팀에서 사용할 수 있고 pip에서 사용할 수있는 그램을 사용하지 않기를 바랍니다. 또한 개별적으로 repo로 git을 제어 할 때

질문 1) modules 폴더의 모든 파일에서 그램을 가져 오는 것이 더 나은 방법이 있나요? 각 파일에서 개별적으로 가져 오는 것이 좋습니다.

UPDATE : 내가 지금은 분명 :)

질문을 질문 1에 대한 혼동되었다 2) 버전은 별도로 제어 할 수 있도록 내가, 수정 그램 라이브러리를 배치해야합니까 곳.

답변

0

저는 첫 번째 질문을 정말로 이해하지 못합니다. 모듈을 사용하는 각 파일에서 항상 모듈을 가져와야합니다. 파이썬이 어떻게 작동하는지입니다. 그러나 당신은 의존성을 한번만 설치할 것이고, virtualenv를 사용하고 있기 때문에 아무런 충돌없이 gramme의 작업 버전을 설치할 수 있습니다. 내가 왜 당신의 코드와 별도로 "virtualenv 컨테이너"를 가지고 있는지 이해할 수는 없지만, 프로젝트는 안에 virtualenv 안에 들어가야합니다. 그게 전부입니다.

두 번째 질문에 대한

, 당신은 당신의 GitHub의 포크에 핍을 가리키고 -e 사용하여 VIRTUALENV 내부 "편집"모드에서 종속성을 설치할 수 있습니다 : 나는 VIRTUALENV 안에 내 프로젝트 코드를 저장하려면 어떻게

pip install -e git+git://github.com/shivek/gramme.git 
+0

을 만들 '''src'' 폴더? –

관련 문제