Tox 找不到需求文件
Tox does not find the requirements file
我有一个 Python 模块,其中 setup.py
脚本启动如下:
import setuptools, pathlib
HERE = pathlib.Path(__file__).parent
README = (HERE / "README.md").read_text()
REQUIRES = (HERE / "requirements.txt").read_text().strip().split("\n")
setuptools.setup(
install_requires=REQUIRES,
long_description=README,
...
)
当我从命令行运行设置时,像这样:
python setup.py sdist
它运行很好。但是当我 运行
tox
我在文件 setup.py 的第 5 行收到错误:
FileNotFoundError: [Errno 2] No such file or directory: 'requirements.txt'
即使 requirements.txt
文件和 README.md
文件都保留在与 setup.py
相同的文件夹中。
这是我的 tox.ini
文件:
[tox]
envlist = py39
[testenv]
deps =
pytest
-r requirements.txt
commands =
pytest
如何让 tox
找到我的 requirements.txt 文件?
我自己找到了答案。问题是 requirements.txt
没有包含在我的 'MANIFEST.in' 文件中。我将文件更改为:
include pyproject.toml
include *.md
include *.txt
include LICENSE
现在 tox
有效。
作为对 Erel
正确答案的补充。
根据配置,tox
构建项目,安装构建工件,然后对其进行测试。这是一件好事,因为只有这样你才能测试你发布的内容,而不是源代码树中的内容。
为了不忘记在MANIFEST.in
文件中包含文件,我一般使用check-manifest
tool/linter,见https://pypi.org/project/check-manifest/
两个小音符
python setup.py sdist
已弃用,请参阅 https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html - you should use https://pypa-build.readthedocs.io/en/stable/ 而不是
不推荐在setup.py
中使用requirements.txt
,看这篇经典文章https://caremad.io/posts/2013/07/setup-vs-requirement/;另外,现在我建议使用pip-tools
来固定依赖项
我有一个 Python 模块,其中 setup.py
脚本启动如下:
import setuptools, pathlib
HERE = pathlib.Path(__file__).parent
README = (HERE / "README.md").read_text()
REQUIRES = (HERE / "requirements.txt").read_text().strip().split("\n")
setuptools.setup(
install_requires=REQUIRES,
long_description=README,
...
)
当我从命令行运行设置时,像这样:
python setup.py sdist
它运行很好。但是当我 运行
tox
我在文件 setup.py 的第 5 行收到错误:
FileNotFoundError: [Errno 2] No such file or directory: 'requirements.txt'
即使 requirements.txt
文件和 README.md
文件都保留在与 setup.py
相同的文件夹中。
这是我的 tox.ini
文件:
[tox]
envlist = py39
[testenv]
deps =
pytest
-r requirements.txt
commands =
pytest
如何让 tox
找到我的 requirements.txt 文件?
我自己找到了答案。问题是 requirements.txt
没有包含在我的 'MANIFEST.in' 文件中。我将文件更改为:
include pyproject.toml
include *.md
include *.txt
include LICENSE
现在 tox
有效。
作为对 Erel
正确答案的补充。
根据配置,tox
构建项目,安装构建工件,然后对其进行测试。这是一件好事,因为只有这样你才能测试你发布的内容,而不是源代码树中的内容。
为了不忘记在MANIFEST.in
文件中包含文件,我一般使用check-manifest
tool/linter,见https://pypi.org/project/check-manifest/
两个小音符
python setup.py sdist
已弃用,请参阅 https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html - you should use https://pypa-build.readthedocs.io/en/stable/ 而不是不推荐在
setup.py
中使用requirements.txt
,看这篇经典文章https://caremad.io/posts/2013/07/setup-vs-requirement/;另外,现在我建议使用pip-tools
来固定依赖项