使用特定版本的 Python 创建 Windows Python virtualenv [英] Create Windows Python virtualenv with a specific version of Python

查看:68
本文介绍了使用特定版本的 Python 创建 Windows Python virtualenv的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

我尝试结合 thisWindows 上的 virtualenv 指南这篇 SO 帖子virtualenv 上使用特定类型的 Python.

不幸的是它不起作用,这可能是因为后一个资源是由使用 Linux 的人编写的.

这是我所做的:

C:\Python27\Scripts>pip install virtualenv 你使用的是pip版本6.0.6,但是版本 9.0.1 可用.您应该考虑通过pip install --upgrade pip"命令进行升级.收集 virtualenv 下载 virtualenv-15.1.0-py2.py3-none-any.whl (1.8MB)100% |##############################|1.8MB 3.7MB/s eta 0:00:01 安装收集的包:virtualenv成功安装 virtualenv-15.1.0C:\Python27\Scripts>pip install virtualenvwrapper-win 您使用的是 pip 版本 6.0.6,但是版本 9.0.1 可用.您应该考虑通过pip install --upgrade pip"命令进行升级.收集 virtualenvwrapper-win 下载 virtualenvwrapper-win-1.2.1.zip 要求已经满足(使用--upgrade to upgrade): virtualenv in c:\python27\lib\site-packages (来自 virtualenvwrapper-win) 安装收集到的包: virtualenvwrapper-win 运行 setup.py install for virtualenvwrapper-win 成功安装 virtualenvwrapper-win-1.2.1C:\Python27\Scripts>mkvirtualenv c:\users\hackr\Desktop\P27_D19 --python=C:\Python27\python.exe

<块引用>

'python.exe' 不是内部或外部命令,也不是可运行的程序或批处理文件.

'virtualenv.exe' 未被识别为内部或外部命令,可运行的程序或批处理文件.

更新:我只是使用普通的 virtualenv 而不是推荐的 mkvirtualenv 命令让它工作,我认为它是包装器的一部分他们让我安装.如果有人想帮助我了解发生了什么,以及如果不使用包装器有任何缺点,那将是写出答案的好方法.

解决方案

如果安装了多个 Python 版本,最好总是指定完整路径(确保)而不是依赖 环境变量(至少我是这样做的):

  • pip install virtualenv:我喜欢这样做:"C:\Install\x64\Python\3.5.3\python.exe" -m pip install virtualenv (不介意路径)来控制 Python 安装(对于 virtualenvwrapper 也是如此).

我的 "%PYTHON_INSTALLATION_DIR%\Scripts" 中没有 mkvirtualenv(例如 "C:\Install\x64\Python\3.5.3\Scripts") 文件夹,但是(这是我现在制作"的示例):

  • "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 社区版中通过鼠标右键单击上下文菜单调试 Django 应用程序的 UnitTests? 是我不得不处理的痛苦问题之一.

@EDIT0:

刚才我安装了virtualenvwrapper-win:"C:\Install\x64\Python\3.5.3\python.exe" -m pip installvirtualenvwrapper-win.运行 mkvirtualenv,通过其完整路径或通过在 %PATH% (mkvirtualenv a) 中添加其父文件夹,产生相同的错误:

<块引用>

'python.exe' 不是内部或外部命令,也不是可运行的程序或批处理文件.

它创建了VEnv(在%USERPROFILE%\Envs 下).所以这个错误是良性的.无论如何,它可以通过以下任一方式修复:

  • 设置%PYTHONHOME%
  • %PATH%
  • 中添加python.exe的路径

我执行的另一个步骤是将 %WORKON_HOME% 设置为我希望 VEnvs 所在的文件夹.请注意,必须保留环境变量(因为我这样做只是为了测试目的,所以我只在我用于此任务的 cmd 控制台中设置它们),否则每次都必须设置它们你需要使用这些工具.

在那之后workonlsvirtualenv 发挥了巨大的作用(嗯,不如在 Lnx 中那么好,但足够接近了).

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

I have multiple versions of Python. I need to create a virtualenv for my project and make sure that it's using Python 2.7.

I've tried to accomplish this with the combination of this guide for virtualenv on Windows and this SO post on virtualenv with a specific kind of Python.

Unfortunately it's not working, which is probably because the latter resource was written by someone using Linux.

Here's what I did:

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' is not recognized as an internal or external command, operable program or batch file.

Update: I just got this to work using plain virtualenv instead of the recommended mkvirtualenv command, which I assume is part of the wrapper they had me install. If someone would like to help me understand what happened and if there are any downfalls of not using the wrapper, that would be a good way to write up the answer.

解决方案

If having multiple Python versions installed, it's best to always specify full paths (to be sure) and not rely on environment variables (at least it's how I do it):

  • pip install virtualenv: I do it like : "C:\Install\x64\Python\3.5.3\python.exe" -m pip install virtualenv (don't mind the paths) to control the Python installation (same thing for virtualenvwrapper).

I don't have a mkvirtualenv in my "%PYTHON_INSTALLATION_DIR%\Scripts" (e.g. "C:\Install\x64\Python\3.5.3\Scripts") folder, but (this is an example that I "crafted" now):

  • "c:\Install\x64\Python\3.5.3\Scripts\virtualenv.exe" -p "c:\Install\x64\Python\2.7.13\python.exe" "c:\venvs\py2713"

From then on:

  • "c:\venvs\py2713\Scripts\activate.bat"
  • python ......

I know, it's kind of annoying to specify all those funky paths (on Lnx is soooo much easier), but at least it's safe. Anyway, after setting up the virtual environments, you can adjust your environment (%PATH%), so you don't have to specify full paths.

I noticed your comment while writing, and I must say that PyCharm (Professional Edition) is an excellent tool to work with Django (as a matter of fact with Python in general). If on the other hand, you go for Community Edition it's not quite so great (as expected). [SO]: Run/Debug a Django application's UnitTests from the mouse right click context menu in PyCharm Community Edition? is one of the painful issues that I had to deal with.

@EDIT0:

Just now I installed virtualenvwrapper-win: "C:\Install\x64\Python\3.5.3\python.exe" -m pip install virtualenvwrapper-win. Running mkvirtualenv, either by its full path or by adding its parent folder in %PATH% (mkvirtualenv a), yielded the same error:

'python.exe' is not recognized as an internal or external command, operable program or batch file.

but it created the VEnv (under %USERPROFILE%\Envs). So the error is benign. Anyway it can be fixed by either:

  • Setting %PYTHONHOME%
  • Adding the path to python.exe in %PATH%

An additional step that I did, was setting %WORKON_HOME% to the folder where I want my VEnvs to be located. Note that the environment variables must be persisted (since I only did this for testing purposes I only set them in the cmd console that I used for this task), otherwise they'll have to be set every time you need to use these tools.

After that workon, lsvirtualenv worked like a charm (well, not as great as in Lnx, but close enough).

Note (about mkvirtualenv v1.2.1): It will use the default python.exe (see above), as a base for the new VEnv, it's not as flexible as virtualenv.exe (which accepts the -p/--python argument).

这篇关于使用特定版本的 Python 创建 Windows Python virtualenv的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆