2012-08-14 40 views
0

我正在開發一個Web應用程序,並且需要從兩臺計算機完成工作,一臺運行Linux,另一臺運行Windows。在Windows和Linux上開發Web應用程序

這個程序是有關於Python 2.6.7金字塔框架開發的(這是服務器運行時,我不能改變它)

繼金字塔站點上的教程,我創建了一個virtualenv Linux機器,並創建了一個項目 - 測試它,它似乎運行沒有問題在Linux機器上。現在爲了將工作同步到Windows,我想到了使用git(使用來自bitbucket的免費私人projcet)。我創建了一個git項目並將其推送到bitbucket。我用這個.gitignore文件模板,我還添加了這行(我相信VENV是操作系統特定的,但我可能是錯的):

venv 

我克隆了一個項目到Windows後,我沒有virtualenv - 如何創建一個與Linux機器上存在的Venv兼容的Venv(我的Windows機器上已安裝Python 2.7,沒有sqlalchemy等)?什麼是「正確」的做法?我應該只是給應用程序(這是一個拼寫錯誤,,但我現在就離開它)Windows並在virtualbox上使用Ubuntu?

編輯:

雖然我已經接受了關於使用requirements.txt文件Rostyslav Dzinko的答案,正確的方法是實際使用內置在由金字塔的支架機構在pcreate過程中產生的setup.py 。因此,如果有人遇到此問題,請考慮嘗試:

python setup.py develop 
+0

您在Windows中安裝了哪個Python版本(以及發行版,例如ActiveState)? – 2012-08-14 14:18:49

+0

@VasileiosLourdas我在Windows上有一個官方的CPython 2.7.2,但是在這臺機器上我可以安裝任何我想要/需要的東西。 – zenpoy 2012-08-14 14:22:56

回答

2

Virtualenv爲您的Python解釋器創建虛擬環境。這意味着每個虛擬環境可以安裝相同軟件包的不同版本,或者只有您的項目(依賴性)才具有重要性的不同軟件包。

如果要管理依存關係,可以使用pip使新虛擬環境與舊虛擬環境同步。

所有你需要做的是創造requirements.txt文件,並依賴填充它,e.g:

pyramid==1.0.1 
... 

讓這個文件在你的git倉庫。

克隆源到新創建的virtualenv在新機器上後,你可以用PIP安裝所有的依賴關係:

pip install -r requirements.txt 
+0

我應該在Linux機器上運行'venv/bin/pip freeze> requirements.txt'嗎? – zenpoy 2012-08-14 14:27:17

+0

這取決於你。pip freeze用於支持在別處安裝不同版本的項目(具有不同的依賴關係)。如果你計劃 - 你應該這樣做。 – 2012-08-14 14:28:49

+0

感謝您的回答!另一個快速 - 在Windows上創建virtualenv並使用pip之前,是否需要在Windows上安裝安裝在Linux上的相同版本的python和virtualenv? – zenpoy 2012-08-14 14:37:59

0

一個的virtualenv是安裝在你的系統上的Python運行時環境。它不是你的代碼庫的一部分,所以不應該在你的Git倉庫中。

在您使用的每臺機器上分別安裝virtual-env。

+0

感謝您的回答,但正如我在問題中所述,我將venv目錄添加到'.gitignore'文件中。我的問題是如何在兩個不同的操作系統中同步兩個virtualenv – zenpoy 2012-08-14 14:46:04

相關問題