Я пытаюсь настроить tox в Windows для запуска тестов на нескольких установках Python. Я установил каждый питон в папки с именем C:\Python\PythonXX_YY
, XX
- это версия Python (например, 27), а YY
- либо 32, либо 64. В настоящее время единственный питон в моем PATH - C:\Python\Python33_64
, поскольку я использую новую программу запуска Python для запуска любой версии Я хочу. Я тоже использую tox из этой версии.
Первая проблема заключается в том, что tox не обнаруживает эти установки, предположительно потому, что они не находятся в местах по умолчанию. Я могу обойти это, установив путь в tox.ini для каждой среды, но это делает настройку очень специфичной для моего компьютера. Есть ли лучший способ сообщить tox, где находятся мои питоны во всем мире?
Вторая проблема заключается в том, что при установке местоположений python в tox.ini я получаю следующую ошибку при запуске (для Python27):
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)
Похоже, он пытается установить материал Python2.7 из Python3.3, но я никогда особо не использовал virtualenv, поэтому я могу неправильно интерпретировать эту ошибку.
Я не уверен, как это решить, но мне кажется, что очевидным решением должно быть использование tox средства запуска Python для получения необходимой версии Python. Есть ли способ заставить его это сделать?