最近折腾一个django的项目,想快速部署到服务器看看效果。virtualenv号称python三大神器之一,因此我打算把pycharm自动创建的虚拟环境直接拷贝到服务器运行代码。谁知出现了问题。

 

在pycharm上创建的虚拟环境是3.6.4

服务器环境上python3版本为3.6.9

 

按道理说,把本机的虚拟环境从本机拷贝到服务器,服务器就能直接运行django代码但是情况却不是这样。

首先看这是服务器真机的python版本3.6.9

 

 把项目和虚拟环境拷贝进服务器后,进入虚拟环境,查看python版本还是3.6.9而不是在原来机器上的3.6.4

 

点击运行也会提示添加各种依赖以及有些语法错误(版本导致的)

 查阅资料

https://blog.csdn.net/qq_34146899/article/details/52454616

 

系统中必须要安装有对应版本的python,并且卸载之后当前虚拟环境就无效了。

也就是说,必须在服务器中有该版本的python,才能正常运行。

 

所以有以下几个解决方法:

1. 在服务器上,直接新建一个虚拟环境,添加配置和包。参考:

http://kuanghy.github.io/2015/12/04/virtualenv

https://www.cnblogs.com/wangzhihang/p/12365990.html

2. 在服务器上卸载该版本python,安装本机使用的python版本(不推荐)

3.在服务器上安装conda,用conda创建虚拟环境

4.可以迁移,但要有必要的操作:

https://www.cnblogs.com/ibgo/p/11441942.html

 

另外 python的虚拟环境 是带绝对路径的

打开虚拟环境下的目录venv/Scripts目录下会看到activate 和 activate.bat,分别是对应linux(或其他系统)和 windows 的虚拟环境激活文件。
找到文件中的 ”VIRTUAL_PATH=“ 后面跟的是原来的路径

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐