当前位置: 首页 > 面试题库 >

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

宦烈
2023-03-14
问题内容

我有多个版本的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命令来使其工作,我认为这是他们安装的包装器的一部分。如果有人想帮助我了解发生了什么,并且如果不使用包装程序有任何弊端,那将是写下答案的好方法。


问题答案:

如果安装了多个 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 参数)灵活。



 类似资料:
  • 问题内容: 之前也曾提出过类似的问题,但由于配置脚本的标志已更改,因此答案似乎不再适用。我正在尝试从x86和x64上的Ubuntu 14.04.5上的git源编译OpenVPN。我已经构建了OpenSSL 1.0.1t并将其安装到/ usr / local / ssl。我尝试过配置选项的各种组合,并且编译器似乎可以识别 完成,没有错误,但结果为。完成安装后,它仍会报告OpenSSL的系统版本: 系

  • 问题内容: 我有3个python版本,我想使用第二个版本来easy_install Orange。我怎样才能做到这一点? 不必要的信息: 在/ usr / bin / python中的2.1 2.6在/Library/Frameworks/Python.framework/Versions/2.6/bin/python中 /Library/Frameworks/Python.framework/V

  • 本文向大家介绍symfony3 5.根据特定的Symfony版本创建项目,包括了symfony3 5.根据特定的Symfony版本创建项目的使用技巧和注意事项,需要的朋友参考一下 示例 如果您的项目需要基于特定的Symfony版本,请使用新命令的可选第二个参数: 安装程序还支持称为lts的特殊版本,该特殊版本将安装可用的最新Symfony LTS版本: 阅读Symfony发布过程,以更好地理解为什

  • 问题内容: 我正在尝试使用通过该–选项创建的新virtualenv安装MySQL_python适配器的1.2.2版本。PyPi中显示的当前版本是1.2.3。有没有安装旧版本的方法?我发现有一篇文章指出应该这样做: 但是,安装后,它仍显示在站点包中。这是此软件包专用的问题,还是我做错了什么? 问题答案: TL; DR: (即) 首先,我发现你要执行的操作有两个问题。由于已经安装了版本,因此应该卸载当

  • 问题内容: 在Ubuntu 10.04上,默认情况下安装了Python 2.6,然后我安装了Python 2.7。如何使用安装Python 2.7的软件包。 例如: 默认情况下会为Python 2.6安装BeautifulSoup 当我做: 在Python 2.6中可以使用,但是在Python 2.7中可以显示: 问题答案: 对要安装新软件包的Python实例使用已安装的版本。 在许多发行版中,可

  • 我目前在本地安装了Python 2.7和3.6。我用pip3安装了virtualenv和virtualenvwrapper。当我没有指定python版本(即$mkvirtualenv hello)时,一切都进展顺利,我得到以下输出: "使用基本前缀'/home/rishi_gurnani/python' /home/rishi_gurnani/.virtualenvs/hello/bin/pyth