我有多个版本的Python。我需要为我的项目创建一个virtualenv,并确保它使用的是Python 2.7。
我已经试过的组合来完成此本指南为virtualenvWindows和此SO岗位上virtualenv具有特定类型的Python。
virtualenv
不幸的是,它无法正常工作,这可能是因为后者是由使用Linux的人编写的。
这是我所做的:
C:\Python27\Scripts>pip install virtualenv You are using pip version 6.0.6, however version 9.0.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command. Collecting virtualenv Downloading virtualenv-15.1.0-py2.py3-none-any.whl (1.8MB) 100% |################################| 1.8MB 3.7MB/s eta 0:00:01 Installing collected packages: virtualenv Successfully installed virtualenv-15.1.0 C:\Python27\Scripts>pip install virtualenvwrapper-win You are using pip version 6.0.6, however version 9.0.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command. Collecting virtualenvwrapper-win Downloading virtualenvwrapper-win-1.2.1.zip Requirement already satisfied (use --upgrade to upgrade): virtualenv in c:\python27\lib\site-packages (from virtualenvwrapper -win) Installing collected packages: virtualenvwrapper-win Running setup.py install for virtualenvwrapper-win Successfully installed virtualenvwrapper-win-1.2.1 C:\Python27\Scripts>mkvirtualenv c:\users\hackr\Desktop\P27_D19 --python=C:\Python27\python.exe
'python.exe' is not recognized as an internal or external command, operable program or batch file. 无法将“ virtualenv.exe”识别为内部或外部命令,可运行程序或批处理文件。
'python.exe' is not recognized as an internal or external command,
operable program or batch file.
无法将“ virtualenv.exe”识别为内部或外部命令,可运行程序或批处理文件。
更新: 我只是使用普通命令virtualenv而不是推荐的mkvirtualenv命令来使其工作,我认为这是他们安装的包装器的一部分。如果有人想帮助我了解发生了什么,并且如果不使用包装程序有任何弊端,那将是写下答案的好方法。
mkvirtualenv
如果安装了多个 Python 版本,则最好始终指定完整路径(可以肯定),而不要依赖 环境变量 (至少这是我的操作方式):
pip install virtualenv
"C:\Install\x64\Python\3.5.3\python.exe" -m pip install virtualenv
我没有 mkvirtualenv 在我的 “%PYTHON_INSTALLATION_DIR%\脚本” (如 “C:\安装\ 64 \ Python的\ 3.5.3 \脚本” )文件夹,但(这是一个例子,我“制作”了) :
"c:\Install\x64\Python\3.5.3\Scripts\virtualenv.exe" -p "c:\Install\x64\Python\2.7.13\python.exe" "c:\venvs\py2713"
从那时起:
"c:\venvs\py2713\Scripts\activate.bat"
python
我知道,指定所有这些时髦的路径有点烦人(在 Lnx 上非常容易),但至少是安全的。无论如何,在设置虚拟环境之后,您可以调整环境( %PATH% ),因此不必指定完整路径。
我在撰写本文时注意到了您的评论,我必须说 PyCharm ( 专业版 )是与 Django 一起使用的优秀工具(事实上,与 Python 一起使用)。另一方面,如果您选择 社区版, 那就不是那么好了(符合预期)。[SO]:从鼠标右键单击PyCharm Community Edition中的上下文菜单运行/调试Django应用程序的UnitTests?是我不得不处理的痛苦问题之一。
@ EDIT0 :
刚才我安装 virtualenvwrapper- 赢 :"C:\Install\x64\Python\3.5.3\python.exe" -m pip install virtualenvwrapper-win。通过其完整路径或通过在 %PATH% ()中添加其父文件夹来运行 mkvirtualenv ,会产生相同的错误: __mkvirtualenv a
"C:\Install\x64\Python\3.5.3\python.exe" -m pip install virtualenvwrapper-win
mkvirtualenv a
无法将“ python.exe”识别为内部或外部命令,可操作程序或批处理文件。
但 它创建了 VEnv (在 %USERPROFILE% \ Envs 下)。因此错误是良性的。无论如何,它可以通过以下任一方法进行修复:
我 要做 的另一步骤是将 %WORKON_HOME% 设置为我想要 放置VEnv 的文件夹。请注意,必须保留环境变量(因为我仅出于测试目的这样做,所以我仅在用于此任务的 cmd 控制台中对其进行了设置),否则,每次需要使用这些工具时都必须对其进行设置。
此后 workon , lsvirtualenv 工作就像一个魅力(当然,不是一样大,在 LNX ,但足够接近)。
注意 (关于 mkvirtualenv v1.2.1 ):它将使用默认的 python.exe (请参见上文)作为新 VEnv的基础 ,它不如 virtualenv.exe (接受 -p / --python 参数)灵活。