2014-04-01 10 views
11

내 컴퓨터에 Python 2.7.6 및 3.4.0이 있습니다. 2.7 버전이 제 경로에 있습니다. 3.4를 사용하여 virtualenv를 설정하고 싶습니다.Windows에서 여러 Python 버전으로 VirtualEnv 사용

virtualenv -p c:\python34 myvirtualenv 

그러나 이것은 나를 위해 작동하지 않습니다 SO 및 다른 곳에서 제안이 나는 명령 프롬프트에서 다음을 수행에 많은 게시물이 있습니다. 콘솔 세션이 관리자 권한을 가지고 있으며, UAC가 꺼져 그러나 내가 권한 문제 얻을 :

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 <module> 
    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 

나는 또한 특별히 VIRTUALENV의 3.4 버전을 가리키는 시도를하지만, 경로를 변경하지 않고는 혼합을 실행 끝 2.7 및 3.4 파이썬 파일의 가방.

내 가상 환경을 설정하는 유일한 방법은 내 경로를 3.4로 변경하고 virtualenv를 실행 한 다음 내 경로를 2.7으로 재설정하는 것입니다.이 경로는 virtualenv에서 파이썬 스위치의 포인트를 무효화합니다.

감사

답변

16

더 나은 :

py -3.4 -m venv c:\path\to\wherever\you\want\it 

당신은 (하지만이 설치되어 있어야합니다) 당신이 c:\Python34\python.exepy -3.4 (기본 위치를 가정)을 대체 할 수


py.exe 실행이없는 경우

이 기능은 편리한 Windows 용 버전의 훌륭한 런타임 픽커 py.exe

기본적으로 Windows 설치시 py.exe이 표시됩니다 (2.7이 포함되어 있다고 생각하며, 3 이상으로 알고 있음). py을 실행하면 특정 환경 변수를 검색하거나 특정 verison 번호 (해당 경우 -2.7 또는 -3.4)로 무시할 수 있습니다. .4을 무시하고 "가장 큰"부 버전 번호를 선택합니다.

파이썬 스크립트를 실행하는 데 사용할 수도 있습니다. 스크립트 상단에 해시 뱅 (hash-bang) 행을 넣은 다음 py myscript.py으로 호출하면 스크립트의 첫 번째 줄을 검색하고 버전 번호를 검색하여 올바른 버전의 Python을 선택합니다. 당신이

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

꽤 유용

을 수행하여 리눅스에서 스크립트의 상단에 #!/usr/bin/env python3.4 같은 것을 넣어 py와 윈도우에서 실행하거나 할 수 있기 때문에

이, 멋지다.

virtualenv -p c:\python34.exe myvirtualenv 

끝에 .exe 인 모든 차이를 만드는 :

+0

고마워. 고마워. 나는 py에 익숙하지 않다. 나는 그것을 찾아야 할 것이다. – marcp

+0

@marcp, 몇 가지 정보를 추가했습니다. (공식 문서에서도이 모든 것을 찾을 수 있습니다.) –

+0

@ oenpelli의 해결책이 저에게 효과적입니다. python.exe를 -p 매개 변수의 경로에 추가하기 만하면됩니다. – RandyTek

8

에서 윈도우 당신은 실행해야합니다.

+1

"virtualenv -p c : \ python34 \ python.exe myvirtualenv"라는 작은 메모 만 나와 함께 작동합니다. – RandyTek

4

잠시 동안이 문제를 해결하려면 정상적으로 실행해야했습니다. Python2.7.9를 설치했다면 (Windows 7) 최신 Python3 릴리스를 원했습니다. Python3.4를 설치 한 후.나는 원래, 그것은 내가 '정상'방식으로 Python3.4.3 인터프리터를 설치하는 데 필요한 것을 이해하는 것이 나에게 꽤 시간이 걸렸습니다

virtualenv -p c:\Python34\python.exe foo 

: 3 내가 디렉토리 표시 줄에 가서이 명령을 사용하여 가상 환경 foo는 생성 USING virtualenv가 설치 될 것이라고 생각했습니다. 그 내용은 this answer에 설명되어 있습니다. Python3.4.3을 설치 한 후에 Windows에서 pythonpath를 건드리지 않았습니다.

0

위의 조치가 작동하지 않는 경우 (venv 사용하는 대신 VIRTUALENV)이 시도 :

python -m venv venvname 

(이 환경 변수 경로 설정에 나열되지 않은 경우 python.exe를 경로로 파이썬을 대체)

관련 문제