Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法在另一个系统上运行VitrualEnv_Python_Python 3.x_Virtualenv - Fatal编程技术网

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

Python 无法在另一个系统上运行VitrualEnv,python,python-3.x,virtualenv,Python,Python 3.x,Virtualenv,我已经使用Python3.6在虚拟环境中创建了我的项目。 我使用了pip install virtualenv,并使用以下命令创建了我的环境: virtualenv venv 现在我有了名为venv的文件夹。我已经安装了所有设备,现在愿意换另一个系统。 所以我只是复制了文件夹并激活了成功运行的环境。 现在,我试图检查pip的版本,但它是否给出以下错误: C:\Users\aims\Desktop\venv\Scripts>activate (venv) C:\Users\aims\De

我已经使用Python3.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
并没有使环境系统独立

请建议我如何使项目可从一个系统移植或固定到另一个系统,而不丢失和破坏环境

编辑:

我试过了,可重新定位,但不起作用。请告诉我我的
pip
根本不工作。表示遗漏了某些内容。

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

--可重新定位选项目前存在许多问题,并且不能保证在所有情况下都能工作。在未来版本的virtualenv中,该选项可能会被弃用


您可以在官方网站上找到更多信息。

官方文档声明:>您可以移动目录,但它只能在其他类似的计算机上使用。一些可能导致不兼容的已知环境差异:不同版本的Python,当一个平台使用UCS2作为其内部unicode表示,另一个平台使用UCS4(编译时选项),明显的平台变化,如Windows与Linux或Intel与ARM,如果系统上有绑定到C库的库,如果这些C库位于不同的位置(不同的版本,或者不同的文件系统布局),那么我的系统就是Windows10。我只使用wndows请告诉我是否还有其他方法可以实现我的目标。在现有虚拟环境中运行
virtualenv--relocate
命令应该足以实现您的目标,但它不会改变
activate
脚本,您可以直接在venv目录中运行
python
pip
,并进行测试,这对我来说非常适合。由于您的两个系统都是Windows,而且我猜安装的python版本也是相同的,所以应该可以工作。尝试使用脚本目录直接运行可执行文件,不使用激活脚本,应该可以运行。@phd的可能副本我甚至不知道
pip
的版本如何从requirements.txt下载需求?请解释一下。顺便说一句,它不是重复的。@JafferWilson:一般来说,当您可以在同一台机器上开发或测试具有不同需求的项目时,virtualenv对开发最有用,因为它可以确保正确表达项目的依赖关系。对于分发,virtualenv不会帮助您。您可能希望使用
setuptools
软件包来创建可分发版本的软件包,然后可以使用类似于
pip
的东西将其安装到目标机器上(可能必须单独安装,具体取决于Python在目标机器上的安装方式)。