无法在另一个系统上运行VitrualEnv

时间:2018-12-26 09:06:00

标签: python python-3.x virtualenv

我已经使用Python 3.6在虚拟环境中创建了我的项目。 我使用pip install virtualenv,并使用以下命令创建了环境:

virtualenv venv

现在,我有一个名为venv的文件夹。我已经安装了所有内容,现在愿意在另一个系统上进行移植。
所以我只复制了文件夹并激活了成功运行的环境。
现在,我正在尝试检查pip的版本,但是它给出以下错误:

C:\Users\aims\Desktop\venv\Scripts>activate

(venv) C:\Users\aims\Desktop\venv\Scripts>pip --version
Fatal error in launcher: Unable to create process using '"c:\users\jaffer\venv\scripts\python.exe"  "C:\Users\aims\Desktop\venv\Scripts\pip.exe" --version'  

我很困惑,因为虚拟环境具有所有功能,并且可以在以前的系统上正常运行。我猜想virtualenv并没有使环境系统独立。

请向我建议如何使项目可移植或可从一个系统停靠到另一个系统,而又不会造成环境损失。

已编辑
我尝试了--reloctable不工作。请告诉我我的pip根本没有工作。意味着错过了一些东西。

1 个答案:

答案 0 :(得分:1)

您当前的工作目录位于C:\Users\aims内,其中包含virtualenv的python可执行文件,但是如您所见,在激活virtualenv pip之后,您正在c:\users\jaffer中寻找python可执行文件,该目录可能不存在您正在使用的系统。如果您的操作系统和系统python版本匹配,则可以在创建虚拟环境时使用--relocatable开关,但是

  

-relocatable选项当前存在许多问题,不能保证在所有情况下都能正常工作。可能会在virtualenv的将来版本中弃用该选项。

您可以在此处找到有关官方documentation的更多信息。