如何在Windows和Linux上使用相同的Python virtualenv

时间:2017-03-11 09:27:23

标签: python linux windows virtualenv

我最近在同一台PC上开始使用Windows和Linux - 它们安装在两个不同的分区上,第三个分区包含公共数据和存档。从Windows创建的virtualenvs是使用文件夹" Scripts",而Linux中的对应物是文件夹" bin"。

这里的问题是这些文件夹中的文件与两个操作系统不兼容。例如,"激活"包含在bin中(在Linux中创建)不在Windows中运行,另一方面,"激活" in Scripts(在Windows中创建)无法在Linux上执行。

有没有办法在两个操作系统上使用相同的virtualenv?

1 个答案:

答案 0 :(得分:13)

简短回答,不。但是你可以分享venv构建脚本。

  1. pip freeze将所有库添加到requirements.txt文件。

    pip freeze > requirements.txt
    
  2. 在每个操作系统上创建venv:

    python -m venv env
    source env/bin/activate
    pip install -r requirements.txt  # Install all the libs.
    
  3. 有几个原因导致无法在操作系统之间共享venv:

    1. 某些软件包包含C扩展,操作系统的.dll彼此不兼容。
    2. venvs包含带有硬编码路径的脚本。 Windows和Linux路径不同。