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

发布于 2021-01-29 15:04:35

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

关注者
0
被浏览
78
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

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



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看