首页 > 解决方案 > Pip install:require.txt 中的 url 使 setup.py 崩溃

问题描述

目前正在做一个 JetBrains Academy 项目,它在我的 requirements.txt 文件中添加了以下行:

https://github.com/hyperskill/hs-test-python/archive/release.tar.gz

但是,当我想使用 pip install 安装我的包时,可以很好地使用 pip。我收到以下错误:

SystemExit:JetBrain Academy 出错 - 数字矩阵处理器设置命令:“install_requires”必须是包含有效项目/版本要求说明符的字符串或字符串列表;在“'://githu'”处解析错误:预期的 stringEnd

我的 setup.py 如下:

import setuptools

REQS_FILENAME = "requirements.txt"
SETUP_FILENAME = "requirements-setup.txt"


def make_deps(filename):
    """Generate the install_requires parameter."""
    with open(filename) as fhandle:
        return fhandle.readlines()


def main():
    """Main setup function"""
    setuptools.setup(
        name='JetBrain Academy - Numeric Matrix Processor',
        url="https://hyperskill.org/projects/96",
        author='Zangdar',
        description='Doing a Matrix processor from scratch',
        packages=setuptools.find_packages(exclude=("tests",)),
        install_requires=make_deps(REQS_FILENAME),
        python_requires='>= 3.8',
        setup_requires=make_deps(SETUP_FILENAME),
    )


if __name__ == '__main__':
    main()

而且它不能再运行了。make_deps(REQS_FILENAME) 的输出是:

['https://github.com/hyperskill/hs-test-python/archive/release.tar.gz\n', '\n']

我该怎么做才能让它协同工作?

编辑:

这是 Sinoroc 建议的我的新 pyproject.toml:

[build-system]
requires = ["poetry_core>=1.1.4"]
build-backend = "poetry.core.masonry.api"

[tool.poetry]
name = "NumericMatrixProcessor"
version = "0.1.0"
description = "JetBrainAcademy Project - Doind a matrix calculator from scratch."
authors = ["Zangdaarr"]
readme = "README.md"
repository = ""
homepage = "https://hyperskill.org/projects/96"

packages = [
    { include = "numeric_matrix_processor"}
]

[tool.poetry.dependencies]
python = "^3.8"

[tool.poetry.dev-dependencies]
pytest = "*"
pytest-cov = "*"
pytest-lazy-fixture = "*"
pytest-mock = "*"
mock = "*"
sphinx = "*"
sphinx_rtd_theme = "*"
pylint = "*"

标签: pipsetuptoolssetup.pypython-packagingrequirements.txt

解决方案


推荐阅读