2012-12-12 2 views
4

여러 개의 python 설치에 대한 테스트를 실행하기 위해 windows에 tox을 설정하려고합니다. 나는 C:\Python\PythonXX_YY이라는 폴더에 각 파이썬을 설치했다. XX은 파이썬 버전 (예 : 27)이고 YY은 32 또는 64이다. 현재 새로운 파이썬 시작 프로그램을 사용하여 내 PATH의 유일한 파이썬은 C:\Python\Python33_64이다. 내가 원하는. 나는 또한이 버전에서 독소를 실행 중이다.독점 Windows에 여러 개의 파이썬 설치 설정

첫 번째 문제점은 tox가 기본 위치에 있지 않기 때문에 이러한 설치를 감지하지 못한다는 것입니다. 각 환경에 대해 tox.ini에서 경로를 설정하여이 문제를 해결할 수 있지만 설정이 내 컴퓨터에만 매우 중요합니다. 독극물이 내 비단뱀이 세계적으로 어디 있는지 알 수있는 더 좋은 방법이 있습니까?

두 번째 문제는, 그 내가 (Python27에 대한)을 실행할 때 tox.ini에서 파이썬 위치를 설정, 나는 오류를 다음 얻을 : 그것 Python2.7을 설치하려고처럼

Traceback (most recent call last): 
    File "c:\Python\Python33_64\lib\site-packages\virtualenv.py", line 2557, in <module> 
    main() 
    File "c:\Python\Python33_64\lib\site-packages\virtualenv.py", line 961, in main 
    never_download=options.never_download) 
    File "c:\Python\Python33_64\lib\site-packages\virtualenv.py", line 1062, in create_environment 
    site_packages=site_packages, clear=clear)) 
    File "c:\Python\Python33_64\lib\site-packages\virtualenv.py", line 1255, in install_python 
    copy_required_modules(home_dir) 
    File "c:\Python\Python33_64\lib\site-packages\virtualenv.py", line 1193, in copy_required_modules 
    dst_filename = change_prefix(filename, dst_prefix) 
    File "c:\Python\Python33_64\lib\site-packages\virtualenv.py", line 1164, in change_prefix 
    (filename, prefixes) 
AssertionError: Filename c:\Python\Python33_64\lib\site-packages\readline.py does not start with any of these prefixes: ['c:\\python\\python27_64'] 

ERROR: InvocationError: c:\python\python27_64\python.exe c:\Python\Python33_64\lib\site-packages\virtualenv.py --distribute py27 (see C:\Users\david.townshend\Documents\Global\Programming\norman\.tox\py27\log\py27-0.log) 

같습니다 Python3.3에서 나온 것들이지만, 전에 virtualenv를 사용 해본 적이 없기 때문에이 오류를 잘못 해석했을 수도 있습니다.

나는 해결책이 무엇인지 모르겠지만 명백한 해결책은 tox가 파이썬 버전을 얻기 위해 파이썬 실행 프로그램을 사용해야한다는 것입니다. 이 작업을 수행 할 수있는 방법이 있습니까?

+0

사용중인 가상 버전은 무엇입니까? 최신이 아니라면 시도해 볼 수 있습니까? – hpk42

+0

@ hpk42 방금 최신 정보로 업데이트했지만 차이는 없습니다. – aquavitae

답변

3

는 독극물 같은 위치에서 비단뱀을 찾습니다 같은데 : 밑줄 _ 대신 참고 \ Python3.3 \ 등 점 .을 :

m = re.match(r"python(\d)\.(\d)", name) 
if m: 
    # The standard names are in predictable places. 
    actual = r"c:\python%s%s\python.exe" % m.groups() 

그래서 당신은 C에서 당신의 비단뱀을 넣어해야합니다. 이것은 고통이지만.

+0

이 문제를 제기했습니다 : https://bitbucket.org/hpk42/tox/issue/114/win32-specify-pythonexe-locations – agroszer

+0

또한 'c : \ python (\ d) (\ d)'와 함께 작동합니다. 콤마. –

+0

32 및 64 비트를 나란히 지원하지 않습니다. – agroszer