因为工作中某些环境、网络问题,requirement.txt中的库不完整、无法下载,以及改了某些特定库代码,需要拷贝整个env文件夹到自己的开发机(同为linux),拷贝后发现virtual env并没有生效,使用的还是系统全局的python环境。
原因:
直接拷贝,如果env文件夹的绝对路径不同,则无法生效,并且执行activate的时候竟然不会报错…….
activate文件中有一个配置为:VIRTUAL_ENV="/opt/app/patch/env" 创建env的时候,写死的,所以直接拷贝会导致找不到路径,导致失效
解决方式:
* 修改VIRTUAL_ENV为当前env文件夹路径即可。
* 使用--relocatable命令 参考:http://stackoverflow.com/questions/32407365/can-i-move-a-virtualenv
对于linux机器的env迁移到windows机器:
site-package文件夹可以共用,只需要在windows上生成env目录结构即可,毕竟两种系统env的目录结构不同,但有些特殊的包需要特殊处理:对于python的mysql包,windows下需要拷贝如下文件
MySQL_python-1.2.3-py2.7.egg-info 文件
MySQLdb 文件
_mysql.pyd
_mysql_exceptions.py
这也是windows下安装mysql包本身要做的步骤
说点什么
欢迎讨论