«setup.py Ошибка «sdist bdist_wheel» при создании пакета

#python #python-3.x #setuptools

#python #python-3.x #setuptools

Вопрос:

Я пытаюсь создать пакет Python под названием Seasoning.

После выполнения команды sudo python3 setup.py sdist bdist_wheel появляется эта ошибка:

 Traceback (most recent call last):
  File "setup.py", line 52, in <module>
    "seasoning=seasoning.__main__:main"
  File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 447, in __init__
    k: v for k, v in attrs.items()
  File "/usr/lib/python3.7/distutils/dist.py", line 267, in __init__
    getattr(self.metadata, "set_"   key)(val)
  File "/usr/lib/python3.7/distutils/dist.py", line 1227, in set_requires
    distutils.versionpredicate.VersionPredicate(v)
  File "/usr/lib/python3.7/distutils/versionpredicate.py", line 105, in __init__
    raise ValueError("empty package restriction")
ValueError:  empty package restriction
  

Редактировать:

И вот код внутри setup.py:

 import pathlib
from setuptools import setup

HERE = pathlib.Path(__file__).parent

README = (HERE / "README.md").read_text()

setup(
  name="Seasoning",
  version="0.1.0",
  description="Encrypt objects with salt and pepper in Pure-Python, with no dependencies.",
  long_description=README,
  long_description_context_type="text/markdown",
  url="https://github.com/TristanMisja/Seasoning",
  download_url="https://github.com/TristanMisja/Seasoning",
  author="Tristan Misja",
  author_email="TristanMisja@gmail.com",
  maintainer="Tristan Misja",
  maintainer_email="TristanMisja@gmail.com",
  license="MIT",
  classifiers=[
      "License :: OSI Approved :: MIT License",
      "Programming Language :: Python :: 3",
      "Programming Language :: Python :: 3.7",
      "Topic :: Security :: Cryptography",
      "Topic :: Software Development :: Libraries :: Python Modules",
      "Topic :: System :: Systems Administration :: Authentication/Directory",
      "Operating System :: POSIX",
      "Operating System :: Unix",
      "Intended Audience :: System Administrators",
      "Intended Audience :: Developers",
      "Development Status :: 2-Pre-Alpha",
      "Natural Language :: English"
    ],
    keywords="cryptography encryption hashing",
    packages=['seasoning'],
    include_package_data=True,
    install_requires=[],
    requires=[],
    provides=["Seasoning"],
    zip_safe=False,
    entry_points={
        "console_scripts": [
            "seasoning=seasoning.__main__:main"
        ]
    },
    project_urls={
        "Bug Tracker": "https://github.com/TristanMisja/Seasoning/issues",
        "Documentation": "https://pypi.org/project/Seasoning",
        "Source Code": "https://github.com/TristanMisja/Seasoning"
    }
)
  

Я использую стандартный дистрибутив Python версии 3.7 на Raspberry Pi 3 A под управлением Raspberry Pi OS (Raspbian).
Любая помощь с этим была бы оценена.

Спасибо!

Комментарии:

1. Пожалуйста, покажите свой setup.py .

2. Хорошо, я добавил это.

Ответ №1:

вы что-то не показываете нам, это невозможно, чтобы это setup.py вызвало эту ошибку, единственный способ вызвать эту ошибку — с requires параметром, который выглядит следующим образом:

 requires=[''],  # or =['   '] or =[None], etc. 
  

К счастью, requires и provides настройки устарели (^ F требует / предоставляет), поэтому вам все равно следует просто удалить их из своего setup.py

Комментарии:

1. Я не знаю, что еще я должен добавить :/