我已经使用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
根本没有工作。意味着错过了一些东西。
答案 0 :(得分:1)
您当前的工作目录位于C:\Users\aims
内,其中包含virtualenv的python可执行文件,但是如您所见,在激活virtualenv pip之后,您正在c:\users\jaffer
中寻找python可执行文件,该目录可能不存在您正在使用的系统。如果您的操作系统和系统python版本匹配,则可以在创建虚拟环境时使用--relocatable
开关,但是
-relocatable选项当前存在许多问题,不能保证在所有情况下都能正常工作。可能会在virtualenv的将来版本中弃用该选项。
您可以在此处找到有关官方documentation的更多信息。