2017-01-05 51 views
0

我在virtualenv中有django項目,現在我將它發佈到服務器上,但問題是我不能從virtualenv移動項目,當我這樣做時,然後在站點包中相關的包,cant被閱讀和錯誤發生,我怎樣才能帶出我的項目從virtualenv沒有任何發行如何從virtualenv帶出django項目

+0

難道你不能在服務器上創建一個新的virtualenv,並匹配你的項目依賴關係嗎? – Axnyff

+0

我可以在服務器上創建新的virtualenv,但我不想在服務器上使用virtualenv,而是想運行沒有virtualenv的項目。 – xmastree

+2

那麼你只需要在服務器上安裝你的依賴關係。您可以使用pip freeze來獲得您的依賴關係,因爲e4c5說 – Axnyff

回答

2

在服務器上創建一個新的virtualenv。這很容易

第1步獲取當前的virtualenv

source /path/to/current/bin/activate 
pip freeze > /tmp/requirements.txt 

第2步創建一個新的virtualenv模塊列表。登錄到您的新服務器,將需求文件複製到那裏。然後在執行virtualenv命令之前更改爲合適的目錄或提供完整路徑。

deactivate 
virtualenv -p python envname 

步驟3安裝模塊

source envname/bin/activate 
pip install -r /tmp/requirements.txt 

就是這樣。

正如@bruno指出的那樣,您確實應該在服務器上使用virtualenv。你也應該在你的本地開發服務器上使用它。然後你可以確定代碼將在兩端運行,沒有任何意外。

+0

okey yes我可以做到這一點,但我不想使用virtualenv,我想在virtualenv之外運行項目 – xmastree

+0

@huseyinozanhonamlioglu爲什麼? Virtualenv做得很好。 – cwallenpoole

+0

@huseyinozanhonamlioglu是的,你希望在你的生產服務器上使用virtualenv - 這就是你如何保證它可以在預期的環境下運行,並且只要系統管理員進行任何系統更新就不會中斷。 –