python setup.py install не работает с последними установочными инструментами: в <<>>. egg-info нет сценариев - PullRequest
1 голос
/ 17 апреля 2019

Используя setuptools == 27.2.0, тесты travis нашего пакета picca (https://github.com/igmhub/picca) работают хорошо. Это не так, если используется последняя версия setuptools == 41.0.0: https://github.com/igmhub/picca/issues/591.

Проблема, похоже, связана с тем, где setuptools пытается прочитать сценарии. Я получаю следующую ошибку:

Traceback (most recent call last):
  File "/home/travis/virtualenv/python3.6.3/bin/picca_deltas.py", line 4, in <module>
    __import__('pkg_resources').run_script('picca==4.0', 'picca_deltas.py')
  File "/home/travis/virtualenv/python3.6.3/lib/python3.6/site-packages/pkg_resources/__init__.py", line 666, in run_script
    self.require(requires)[0].run_script(script_name, ns)
  File "/home/travis/virtualenv/python3.6.3/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1437, in run_script
    .format(**locals()),
pkg_resources.ResolutionError: Script 'scripts/picca_deltas.py' not found in metadata at '/home/travis/build/igmhub/picca/py/picca.egg-info'

При поиске пути /home/travis/build/igmhub/picca/py/picca.egg-info/ действительно естьпапка scripts отсутствует. Наша установка на python следующая: нужно ли что-то изменить, чтобы инструменты установки знали, где найти сценарии?

#!/usr/bin/env python

import glob

from setuptools import setup

scripts = glob.glob('bin/*')

description = "Package for Igm Cosmological-Correlations Analyses"

version="4.0"
setup(name="picca",
    version=version,
    description=description,
    url="https://github.com/igmhub/picca",
    author="<***>",
    author_email="<***>",
    packages=['picca','picca.fitter2'],
    package_dir = {'': 'py'},
    package_data = {'picca': ['fitter2/models/*/*.fits']},
    install_requires=['numpy','scipy','iminuit','healpy','fitsio',
        'llvmlite','numba','h5py','future','setuptools'],
    test_suite='picca.test.test_cor',
    scripts = scripts
)

Команда /home/travis/virtualenv/python3.6.3/bin/picca_deltas.py выглядит так:компьютер:

#!<where is python>/python/3.6.3/bin/python
# EASY-INSTALL-SCRIPT: 'picca==4.0','picca_deltas.py'
__requires__ = 'picca==4.0'
__import__('pkg_resources').run_script('picca==4.0', 'picca_deltas.py')

Спасибо за помощь.

1 Ответ

0 голосов
/ 25 июня 2019

Это дикий выстрел, но у меня была та же проблема.

Посмотрите, как /home/travis/build/igmhub/picca/py/picca.egg-info выглядит как ваша папка для сборки.Он не должен смотреть на egg-информацию в папке сборки, а на ту, которую вы установили.

Просто измените каталог, и все будет в порядке:

cd .. # or cd anywhere outside your build folder
picca_deltas.py

Должно работать нормально.

...