在Windows上使用VirtualEnv与多个Python版本

24 浏览
0 Comments

在Windows上使用VirtualEnv与多个Python版本

我在我的电脑上安装了Python 2.7.6和3.4.0版本。2.7版本已添加到系统环境变量中,而我想要使用3.4版本来创建一个虚拟环境。有很多帖子在SO和其他地方建议我在命令提示符中执行以下操作: \n

virtualenv -p c:\python34 myvirtualenv

\n但是这对我来说不起作用。控制台会话具有管理员权限,并且关闭了用户账户控制(UAC),然而我遇到了权限问题:\n

F:\virtualenv>virtualenv -p c:\python34 myenv
Running virtualenv with interpreter c:\python34
Traceback (most recent call last):
  File "c:\python27\scripts\virtualenv-script.py", line 9, in 
    load_entry_point('virtualenv==1.11', 'console_scripts', 'virtualenv')()
  File "C:\Python27\lib\site-packages\virtualenv.py", line 779, in main
    popen = subprocess.Popen([interpreter, file] + sys.argv[1:], env=env)
  File "C:\Python27\lib\subprocess.py", line 709, in __init__
    errread, errwrite)
  File "C:\Python27\lib\subprocess.py", line 957, in _execute_child
    startupinfo)
WindowsError: [Error 5] Access is denied

\n我还尝试了明确指定3.4版本的virtualenv,但是没有更改路径的情况下,它会执行一组混合的2.7和3.4版本的Python文件。\n我唯一找到的设置虚拟环境的方法是将我的路径更改为3.4,运行virtualenv,然后将路径重置为2.7,这样就失去了virtualenv中切换Python版本的意义。\n谢谢。

0
0 Comments

在Windows系统上,使用VirtualEnv和多个Python版本可能会遇到一些问题。在这个例子中,作者已经安装了Python2.7.9,并希望尝试最新的Python3版本。作者安装了Python3.4.3后,在目录bar中使用以下命令创建了一个名为foo的虚拟环境:virtualenv -p c:\Python34\python.exe foo

作者花了很长时间才明白需要以'正常'的方式安装Python3.4.3解释器,而不是使用virtualenv安装。作者最初误以为virtualenv会自动安装Python3.4.3解释器,但在这个回答中解释了实际情况。作者在安装Python3.4.3后没有修改Windows中的pythonpath。

这个解决方法适用于作者在版本2.7.16、3.6.8、3.7.3和3.8.2上的实验,如果由于某种原因虚拟环境未安装,可以使用pip install virtualenv命令来安装。

0
0 Comments

在Windows系统中,使用VirtualEnv来管理多个Python版本时,可能会出现以下问题:

问题原因:在Windows系统中,使用VirtualEnv创建虚拟环境时,需要指定Python解释器的路径。然而,由于Windows系统中的路径表示方式与Linux系统不同,可能会导致路径无法正确识别。

解决方法:在创建虚拟环境时,需要指定Python解释器的完整路径,并且在路径后面添加".exe"后缀。例如,使用命令"virtualenv -p c:\python34.exe myvirtualenv"来创建一个使用Python 3.4版本的虚拟环境。

另外,也可以尝试使用命令"virtualenv -p c:\python34\python.exe myvirtualenv"来创建虚拟环境,这对于某些用户来说也是有效的解决方法。

0
0 Comments

在Windows上使用VirtualEnv与多个Python版本的问题是由于在Windows上有多个Python版本安装在同一台机器上。解决方法是使用py.exe来指定要使用的Python版本。

解决方法是在命令行中使用py.exe命令来创建虚拟环境。例如,要使用Python 3.4创建虚拟环境,可以运行以下命令:py -3.4 -m venv c:\path\to\wherever\you\want\it。如果没有安装py.exe,可以将py -3.4替换为c:\Python34\python.exe

这个解决方法的原理是py.exe是一个Windows版本的Python运行时选择器。默认情况下,Windows安装中会包含py.exe(我记得它是在2.7版本之后安装的)。当运行py时,它会搜索一些环境变量来确定要使用的Python版本,或者您可以使用特定的版本号来覆盖它(例如-2.7-3.4)。您还可以使用py.exe来运行Python脚本。如果在脚本的顶部添加一个hash-bang行#!python3并命名为py myscript.py,那么它会根据脚本的第一行搜索并选择正确的Python版本开始运行。

这个方法非常有用,因为您可以在脚本的顶部放置像#!/usr/bin/env python3.4这样的行,并使用py在Windows上运行它,或者在Linux上通过

$ chmod +x myscript.py
$ ./myscript.py

来运行。

另外,您可以通过在-p参数中将python.exe添加到路径中来解决这个问题的方法。

0