2012-08-14 3 views
0

웹 응용 프로그램을 개발 중이며 두 컴퓨터에서 작업을 수행해야합니다. 하나는 Linux를 실행하고 다른 하나는 Windows를 실행하는 것입니다.Windows 및 Linux에서 웹 응용 프로그램 개발

이 응용 프로그램은 파이썬 2.6.7에 피라미드 프레임 워크로 개발 된 피라미드 사이트에서 튜토리얼을 따라

(이 서버 실행이, 나는 그것을 바꿀 수없는 것입니다), 나는 virtualenv에를 만들었습니다 리눅스 머신, 그리고 프로젝트를 만들었습니다 - 그것을 테스트하고 리눅스 머신에서 문제없이 실행되는 것 같습니다. 이제 작업을 Windows에 동기화하기 위해 git (bitbucket의 무료 개인 projcet)를 사용하는 방법을 생각했습니다. 나는 자식 프로젝트를 만들고 그것을 bitbucket으로 밀어 넣었다. 나는이 .gitignore 파일 템플릿을 사용하고 또한이 라인 (I 특정 OS venv이라고 생각하지만, 내가 잘못 될 수 있음) 추가했습니다 :

venv 

내가 윈도우에 프로젝트를 복제 한 후, 내가 필요는 없습니다 a virtualenv - Linux 컴퓨터 (예 : Windows 컴퓨터에 Python 2.7이 설치되어 있고 sqlalchemy가없는 경우)와 호환되는 venv를 만드는 방법은 무엇입니까? 그것을하는 '올바른'방법은 무엇입니까? 방금 애플 리케이션을 제공해야합니까 (맞춤법 오류였습니다, 그러나 저는 지금 당장 떠날 것입니다) Windows 및 가상 박스에서 우분투를 사용합니까?

편집 : 나는 이미 requirements.txt 파일의 사용에 관한 Rostyslav Dzinko의 답변을 수락했지만

, 올바른 방법이 실제로하여 pcreate 과정에서 피라미드의 발판 메커니즘에 의해 생성되는 setup.py에 내장 된 사용하는 것입니다 . 따라서 누군가이 문제가 발생하면 시도해보십시오.

python setup.py develop 
+0

어떤 Python 버전 (및 배포판, 예 : ActiveState)을 Windows에 설치 했습니까? –

+0

@VasileiosLourdas Windows에서 공식 CPython 2.7.2가 있지만이 컴퓨터에서 원하는/설치할 수있는 모든 것을 설치할 수 있습니다. – zenpoy

답변

2

Virtualenv는 Python 인터프리터에 가상 환경을 생성합니다. 즉, 각 가상 환경에는 설치된 패키지의 버전이 다르거 나 프로젝트에 중요한 패키지 (종속성)가있을 수 있습니다.

종속성을 관리하려면 pip을 사용하여 새 가상 환경을 이전 가상 환경과 동기화 할 수 있습니다.

당신이해야 할 일은, 예컨대을 requirements.txt 파일을 생성하고 종속성을 채우는 것입니다 :

pyramid==1.0.1 
... 

이 파일이 자식 저장소에하자.

새로운 시스템에 새로 만든 VIRTUALENV에 소스를 복제 한 후 핍 모든 종속성을 설치할 수 있습니다

pip install -r requirements.txt 
+0

리눅스 컴퓨터에서'venv/bin/pip freeze> requirements.txt'를 실행해야합니까? – zenpoy

+0

그것은 당신에게 달렸습니다.pip freeze는 다른 버전의 프로젝트 (다른 ​​종속성이있는)를 설치하는 것을 지원하기 위해 사용됩니다. 당신이 계획한다면 - 그렇게해야합니다. –

+0

답변 해 주셔서 감사합니다! 또 다른 빠른 하나 - Windows에 virtualenv를 만들고 pip를 사용하기 전에 Linux에 설치된 python과 virtualenv의 동일한 버전을 Windows에 설치해야합니까? – zenpoy

0

VIRTUALENV 시스템에 설치된 파이썬 런타임 환경입니다. 그것은 코드베이스의 일부가 아니므로 Git 저장소에 있으면 안됩니다.

사용하는 각 시스템에 별도로 가상 env를 설치하십시오.

+0

답변을 주셔서 감사합니다. 그러나 질문에 이미 언급했듯이 venv 디렉토리를'.gitignore' 파일에 추가했습니다. 내 질문은 두 개의 서로 다른 OS의 두 가상화 간 동기화 방법이었습니다. – zenpoy

관련 문제