aqu*_*tae 5 python virtualenv tox
我正在尝试在 Windows上设置tox以针对多个 python 安装运行测试。我已将每个 python 安装在名为 的文件夹中C:\Python\PythonXX_YY,XX是 python 版本(例如 27)并且YY是 32 或 64。目前,我的 PATH 中唯一的 python 是C:\Python\Python33_64,因为我使用新的 python 启动器来运行我想要的任何版本。我也在这个版本中运行 tox。
第一个问题是 tox 没有检测到这些安装,大概是因为它们不在默认位置。我可以通过在 tox.ini 中为每个环境设置路径来解决这个问题,但它使设置非常特定于我的计算机。有没有更好的方法让 tox 知道我的蟒蛇在全球的位置?
第二个问题是,在tox.ini中设置python位置,运行时出现以下错误(对于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)
Run Code Online (Sandbox Code Playgroud)
看起来它试图从 Python3.3 安装 Python2.7 的东西,但我以前从未真正使用过 virtualenv,所以我可能会误解这个错误。
我不确定解决方案是什么,但在我看来,明显的解决方案应该是让 tox 使用 python 启动器来获取它需要的 python 版本。有没有办法让它做到这一点?
小智 3
看起来 tox 在这些位置寻找蟒蛇:
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()
Run Code Online (Sandbox Code Playgroud)
所以你应该把你的 python 放在 c:\Python3.3\ 等处。注意点.而不是下划线_。虽然这是一种痛苦。
| 归档时间: |
|
| 查看次数: |
1280 次 |
| 最近记录: |