想请问一下关于虚拟环境在 windows 跟 liunx 的使用

2017-01-17 09:19:40 +08:00
 Fen2g

各位大佬好,我想问一下。 我在window上创建虚拟环境 对应的目录是 Include ,Lib, pip-selfcheck,json , Scripts, tcl

而在liunx 上创建虚拟环境目录 对应的目录是 bin ,Include ,lib, pip-selfcheck,json , local

现在问题就是 我在windows上创建的虚拟环境,放在liunx上也可以能够照常使用。但是如果使用gunicorn 以及supervisord 来监控应用的话 要怎么做呢? liunx下的话 使用venv/bin/gunicorn 绝对路径就可以了吧? 但是window下创建的虚拟环境在liunx在怎么使用呢? 恳请大佬们指点一下!

2042 次点击
所在节点    Python
3 条回复
Fen2g
2017-01-17 09:29:14 +08:00
我这里所说的虚拟环境就是 virtualenv
sylecn
2017-01-18 22:27:56 +08:00
> 我在 windows 上创建的虚拟环境,放在 liunx 上也可以能够照常使用。
不能的。不同平台二进制包都不兼容。不管是标准库还是第三方库,有 C 模块的都可能有 import 错误。两个平台 python 安装路径也不一样。两边的文件系统也不一样。 Linux 的 virtualenv 是用 symlink 来做的, windows 的不太清楚。即使也是 symlink, NTFS 的 symlink 和 ext4 的 symlink 也是不兼容的。

> 但是如果使用 gunicorn 以及 supervisord 来监控应用的话 要怎么做呢?
这个和 virtualenv 没有关系。这两个软件都有自己的配置文件。在不同的系统分别执行就行了。

> liunx 下的话 使用 venv/bin/gunicorn 绝对路径就可以了吧?
可以的。 virtualenv bin 下面的文件可以使用绝对路径或相对路径访问。如果不带路径访问,则需要 source activate 文件。

> 但是 window 下创建的虚拟环境在 liunx 在怎么使用呢?
只复用代码, virtualenv 在 linux 下重新建即可。然后重新装一下依赖包。
Fen2g
2017-01-19 14:52:23 +08:00
@sylecn 多谢这位老铁,我已经解决了。
> 我在 windows 上创建的虚拟环境,放在 liunx 上也可以能够照常使用。
确实不能够使用。创建的环境都不一样


> 但是如果使用 gunicorn 以及 supervisord 来监控应用的话 要怎么做呢?
我最后就是直接使用绝对路径来启动

> 但是 window 下创建的虚拟环境在 liunx 在怎么使用呢?
如老铁所说,使用 requirements.txt 来安装依赖包

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/335067

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX