[英]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.