![](/img/trans.png)
[英]Using virtualenv cross-platform (Linux and Windows) in Pycharm
[英]Cross platform interface for virtualenv
我在Windows上開發了我的整個項目(Django,Python),並且那里的所有PaaS都使用Linux。
VirtualEnv on Linux:
VirtualEnv_dir /
bin/ activate, activate_this.py
include /
lib /
local /
VirtualEnv of Windows:
VitualEnv_dir /
Include/
Lib /
Scripts/ activate.bat, activate_this.py
因為virtualenv在Windows和Linux中有很多不同。 我如何在PaaS上使用我的windows virtualenv?
編輯:
如果我在Windows上,我需要運行call virtualenv_dir/scripts/activate.bat
進入它。 在Linux中,它的source virtualenv_dir/bin/activate
。
現在,我的repo擁有一個使用Windows生成的virtualenv(使用.bat)。 當我將repo推送到Linux系統時,我應該如何運行它? (bat文件不起作用!)
我正在使用OpenShift PaaS,我想在Git repo上添加一個virtualenv。 我該怎么激活它?
什么是最好的解決方案
除非你使用一些Windows特定的庫; 或者替代Python實現(如IronPython),沒有什么可擔心的。
許多人(包括我自己)使用Windows進行開發並在Linux上部署以進行生產,並為此目的使用virtualenv。 它旨在使您的環境可移植。
你沒有將整個virtualenv推向Linux。
准備好虛擬環境並且代碼正常工作后,您應該凍結應用程序的要求:
pip freeze > requirements.txt
在您的目標操作系統中; 創建一個空的虛擬環境:
virtualenv --no-site-packages prod_env
在virtualenv
最新版本中, --no-site-packages
是默認的。
接下來,使用開發中的需求文件填充環境:
source prod_env/bin/activate
pip install -r requirements.txt
當您更改需求時,只需重新生成requirements.txt
文件並在生產環境中運行pip install -r requirements.txt
。
在某些情況下,您的生產系統無法訪問Internet以下載軟件包,因此pip install
技巧不起作用。 對於這些場景,您可以創建自己的私人pypi服務器並將包推送到那里。 通過此路由添加的獎勵是您可以創建並推送私有包並使用常規setuptools實用程序安裝它們。
一旦確定了哪個進程適合您 - 然后在部署腳本中自動執行該過程; 通常與您的源代碼管理系統掛鈎。 有些人更喜歡單獨的發布工程流程(使用發布經理 - 這是一個人,而不是一個程序)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.