Недавно я собрал свой первый пакет Python и попытался протестировать дистрибутив с помощью test.pypi.org (Репозиторий GithubТест PyPI)
Код для построения dist:
python setup.py sdist bdist_wheel
Код для загрузки в Test PyPI:
twine upload --repository testpypi dist/*
Затем я создал и очистил среду conda для проверки установки с помощью:
conda create --prefix ./envs --no-default-packages python=3.6
В этой среде я использовал установку pip успешно с файлом колеса:
pip install mathsom-0.1.1-py3-none-any.whl
Но если я попытаюсь установить его из Test PyPI numpy, установка завершится ошибкой (она находится в файле install_requirements en setup.cfg). Код:
pip install -i https://test.pypi.org/simple/ mathsom
Код setup.cfg:
[metadata]
name = mathsom
author = Oliver Mohr B.
author_email = [email protected]
version = 0.1.1
description = Personal library for math related problems
long_description = file: README.md
long_description_content_type = text/markdown
url = https://github.com/oliverm91/mathsom
license_files = LICENSE
keywords = solvers, solver, interpolations, interpolation, numerics, derivatives, integrals
[options]
package_dir=
= src
packages=find:
setup_requires =
numpy
install_requires =
numpy
scipy
[options.packages.find]
where=src
Setup.py
from setuptools import setup
if __name__ == '__main__':
setup()
Первые строки ошибки (чрезвычайно длинное сообщение об ошибке):
🤔 А знаете ли вы, что...
В Python есть инструменты для тестирования кода, такие как библиотека unittest.
Если вы посмотрите на свое сообщение об ошибке, вы увидите
Downloading ... mathsom-0.1.1-py3-none-any.whl
Так что он также использует файл whl. Однако способ установки numpy отличается. В вашем сообщении об ошибке видно, что numpy
пытается скомпилировать из исходников, что неудивительно, так как вы установили индекс https://test.pypi.org/simple/
и есть только исходные дистрибутивы numpy под этим индексом. Если вы разрешите извлечение зависимостей из pypi, установив test.pypi в качестве дополнительного индекса с помощью --extra-index-url
, тогда все будет работать (проверено в новой среде conda, созданной с помощью предоставленной вами команды):
pip install --extra-index-url https://test.pypi.org/simple/ mathsom
Looking in indexes: https://pypi.org/simple, https://test.pypi.org/simple/
Collecting mathsom
Downloading https://test-files.pythonhosted.org/packages/4b/b3/76e6bbaa6c1da9f6f032e114af7f5724077154a28b5fc7069330185f2bc8/mathsom-0.1.1-py3-none-any.whl (18 kB)
Collecting scipy
Downloading scipy-1.5.4-cp36-cp36m-win_amd64.whl (31.2 MB)
|████████████████████████████████| 31.2 MB 393 kB/s
Collecting numpy
Downloading numpy-1.19.5-cp36-cp36m-win_amd64.whl (13.2 MB)
|████████████████████████████████| 13.2 MB ...
Installing collected packages: numpy, scipy, mathsom
Successfully installed mathsom-0.1.1 numpy-1.19.5 scipy-1.5.4