小编典典

使用特定版本的Python创建Windows Python virtualenv

python

我有多个版本的Python。我需要为我的项目创建一个virtualenv,并确保它使用的是Python 2.7。

我已经试过的组合来完成此本指南virtualenvWindows和此SO岗位上virtualenv具有特定类型的Python。

不幸的是,它无法正常工作,这可能是因为后者是由使用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”识别为内部或外部命令,可运行程序或批处理文件。

更新:
我只是使用普通命令virtualenv而不是推荐的mkvirtualenv命令来使其工作,我认为这是他们安装的包装器的一部分。如果有人想帮助我了解发生了什么,并且如果不使用包装程序有任何弊端,那将是写下答案的好方法。


阅读 229

收藏
2021-01-20

共1个答案

小编典典

如果安装了多个 Python 版本,则最好始终指定完整路径(可以肯定),而不要依赖 环境变量 (至少这是我的操作方式):

  • pip install virtualenv:我这样做:("C:\Install\x64\Python\3.5.3\python.exe" -m pip install virtualenv不介意路径)来控制 Python的 安装(与 virtualenvwrapper 相同)。

我没有 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

无法将“ python.exe”识别为内部或外部命令,可操作程序或批处理文件。

它创建了 VEnv (在 %USERPROFILE% \ Envs
下)。因此错误是良性的。无论如何,它可以通过以下任一方法进行修复:

  • 设定 %PYTHONHOME%
  • %PATH% 中将路径添加到 python.exe __

要做 的另一步骤是将 %WORKON_HOME% 设置为我想要 放置VEnv
的文件夹。请注意,必须保留环境变量(因为我仅出于测试目的这样做,所以我仅在用于此任务的 cmd
控制台中对其进行了设置),否则,每次需要使用这些工具时都必须对其进行设置。

此后 workonlsvirtualenv 工作就像一个魅力(当然,不是一样大,在 LNX ,但足够接近)。

注意 (关于 mkvirtualenv v1.2.1 ):它将使用默认的 python.exe (请参见上文)作为新
VEnv的基础 ,它不如 virtualenv.exe (接受 -p / --python 参数)灵活。

2021-01-20