一尘不染

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

linux

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

这里的问题是这些文件夹中的文件不适用于两个操作系统。例如,bin(在Linux中创建)中包含的“激活”不在Windows中运行,另一方面,在Windows(在Windows中创建)中的脚本中的“
activate”不能在Linux上执行。

有没有办法在两个OS上使用相同的virtualenv?


阅读 304

收藏
2020-06-07

共1个答案

一尘不染

简短的答案,不。但是您可以共享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.

无法在操作系统之间共享venv的原因有很多:

  1. 某些软件包包含C扩展名,并且OS的.dll不相互兼容。
  2. venvs包含具有硬编码路径的脚本。Windows和Linux路径不同。
2020-06-07