requirements.txt 引用索引的 tox 问题
Issue with tox where requirements.txt references an index
我 运行ning 遇到 运行ning tox
的问题,它取决于 requirements.txt
指定安装本地包所需的索引托管在我们本地的 devpi 实例上。
具体来说,我得到以下(缩写)错误,
> rm -rf ./tox
> tox -e flake8
flake8 create: /Users/john_bodley/my-project/.tox/flake8
flake8 installdeps: -r/Users/john_bodley/my-project/requirements.txt, flake8, flake8-commas, flake8-import-order, flake8-quotes
...
No matching distribution found for some-local-package==1.2.3 (from -r /Users/john_bodley/my-package/requirements.txt (line 4))
但是,如果我重新运行 tox -e flake8
命令,它就会起作用。此外还有以下作品,
pip install -r requirements.txt
pip install -e .
有谁知道可能的解决方案吗?注意我也不确定如何为给定测试禁用 pip install -e .
安装命令,因为 flask8
实际上并不需要它。
作为参考,我使用的是 pip
v9.0.1 和 tox
v2.7.0。下面分别是 requirements.txt
和 tox.ini
文件的上下文。
requirements.txt:
--index http://example.com/john_bodley/prod/+simple/
--trusted-host example.com
some-local-package==1.2.3
tox.ini:
[flake8]
application-import-names = my-package
import-order-style = google
max-line-length = 80
[testenv]
commands =
pip wheel -w {homedir}/.wheelhouse -f {homedir}/.wheelhouse .
py.test tests
deps =
-r{toxinidir}/requirements.txt
pytest
pytest-flask
wheel
usedevelop = True
[testenv:eslint]
commands = npm run lint
whitelist_externals = npm
[testenv:flake8]
commands = flake8
deps =
-r{toxinidir}/requirements.txt
flake8
flake8-commas
flake8-import-order
flake8-quotes
[tox]
envlist = eslint,flake8,py27
此行不正确:
--index http://example.com/john_bodley/prod/+simple/
有效选项为 --index-url
或 --extra-index-url
(两者都适用于您的情况)。如果您还希望搜索 PyPI,请使用后者;如果您只想搜索您的本地索引,请使用前者。
我 运行ning 遇到 运行ning tox
的问题,它取决于 requirements.txt
指定安装本地包所需的索引托管在我们本地的 devpi 实例上。
具体来说,我得到以下(缩写)错误,
> rm -rf ./tox
> tox -e flake8
flake8 create: /Users/john_bodley/my-project/.tox/flake8
flake8 installdeps: -r/Users/john_bodley/my-project/requirements.txt, flake8, flake8-commas, flake8-import-order, flake8-quotes
...
No matching distribution found for some-local-package==1.2.3 (from -r /Users/john_bodley/my-package/requirements.txt (line 4))
但是,如果我重新运行 tox -e flake8
命令,它就会起作用。此外还有以下作品,
pip install -r requirements.txt
pip install -e .
有谁知道可能的解决方案吗?注意我也不确定如何为给定测试禁用 pip install -e .
安装命令,因为 flask8
实际上并不需要它。
作为参考,我使用的是 pip
v9.0.1 和 tox
v2.7.0。下面分别是 requirements.txt
和 tox.ini
文件的上下文。
requirements.txt:
--index http://example.com/john_bodley/prod/+simple/
--trusted-host example.com
some-local-package==1.2.3
tox.ini:
[flake8]
application-import-names = my-package
import-order-style = google
max-line-length = 80
[testenv]
commands =
pip wheel -w {homedir}/.wheelhouse -f {homedir}/.wheelhouse .
py.test tests
deps =
-r{toxinidir}/requirements.txt
pytest
pytest-flask
wheel
usedevelop = True
[testenv:eslint]
commands = npm run lint
whitelist_externals = npm
[testenv:flake8]
commands = flake8
deps =
-r{toxinidir}/requirements.txt
flake8
flake8-commas
flake8-import-order
flake8-quotes
[tox]
envlist = eslint,flake8,py27
此行不正确:
--index http://example.com/john_bodley/prod/+simple/
有效选项为 --index-url
或 --extra-index-url
(两者都适用于您的情况)。如果您还希望搜索 PyPI,请使用后者;如果您只想搜索您的本地索引,请使用前者。