[英]tox can't find python version
我有一個tox.ini
需要以可編輯模式安裝包。 但是,該軟件包沒有setup.py
- 這意味着為了安裝它,需要一個新的pip
版本(我認為 21.4 就足夠了,但為了確定,我強制執行 >=22)
要在本地運行它,我只需運行:
python3 -m virtualenv venv
. venv/bin/activate && pip install pip>=22
. venv/bin/activate && pip install -e <pkg-path>
我的tox.ini
看起來像:
[tox]
envlist = py3
requires =
tox-pipenv >= 1.10
; Older pip can't install in editable mode without setup.py
pip >= 22.0.0
[testenv]
; Install "pkg" in editable mode
deps =
-e <pkg-path>
commands =
...
這會引發以下內容:
int(version_dict["major"]) if version_dict.get("major") is not None else major
ValueError: invalid literal for int() with base 10: '.tox/bin/python'
================================================================================ log end ================================================================================
ERROR: InvocationError for command .../.tox/.tox/bin/python -m pipenv --python .tox/bin/python (exited with code 1)
________________________________________________________________________________ summary ________________________________________________________________________________
ERROR: py3: InvocationError for command .../.tox/.tox/bin/python -m pipenv --python .tox/bin/python (exited with code 1)
這意味着,由於某種原因,我沒有有效的 python ......
我懷疑
tox-pipenv >= 1.10
pip >= 22.0.0
線,但我不能讓它正確
這是一種解決方法 - 但它有效。
我發現(在手動檢查了幾個版本之后) virtualenv==20.10
帶有一個足夠新的pip
,所以我嘗試使用它......
我更換了
tox-pipenv >= 1.10
pip >= 22.0.0
與另一個依賴項 - virtualenv
:
requires =
; Older pip can't install in editable mode without setup.py. I couldn't enforce
; pip version directly, but enforcing virtualenv is good enough, becuase it has
; it's own pip inside, and this version has a new enough pip version
virtualenv >= 20.10
出於某種原因 - 這有效!
這里有一個奇怪的問題:缺少以下行(我在構建舊的tox.ini
時經常看到):
.tox installdeps: ...
不知道這意味着什么,但我認為我的設置可能有問題。 這可能只是因為我的默認virtualenv
現在已更新...
編輯:誤報 :) 這實際上是正確的解決方案......我沒有看到那行的原因是因為tox
跳過了它,因為它已經滿足了要求。 現在我降級了virtualenv
,線路又回來了:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.