Мой контент MANIFEST.in установлен в отличном месте от остальной части пакета - PullRequest
0 голосов
/ 02 октября 2018

Я создаю пакет на python с помощью setuptools.Я использую файл MANIFEST.in для включения зависимости, которую использует мой пакет.Я определяю содержимое файла MANIFEST.in как показано ниже:

recursive-include package / dependency_directory *

Пакет собирается и устанавливается без ошибок.Однако, когда я вызываю пакет из одной из точек входа, я вижу, что скрипт завершается неудачно, потому что он не может найти правильный путь к файлу к содержимому файла MANIFEST.in.

Путь, который просматривает пакет, таков::

/ Пользователи / Xerez / Библиотека / Кэши / Яйца Python / qasar-0.1-py2.7.egg-tmp / qasar / fastqc / fastqc

Остальная часть пакета устанавливается по адресу:

/ Users / Xerez / anaconda2 / lib / python2.7 / site-packages / qasar-0.1-py2.7.egg

Однако внутри моей IDE, когда я спрашиваю, где пакет использует код, указанный ниже:

DATA_PATH = pkg_resources.resource_filename('qasar', 'fastqc/fastqc')

, я получаю следующий путь к файлу:

/ Users / Xerez / anaconda /lib / python2.7 / site-packages / qasar-0.1-py2.7.egg / qasar / fastqc / fastqc

Когда я запускаю сценарий из IDE по этому пути, все работает нормально.Я признаю, что MANIFEST.in устанавливается в отличном месте от остальной части пакета, и что моя IDE вызывает еще одну отличную форму python.Как я могу заставить установку поместить все в одну и ту же версию version_of_anaconda / location?

Я прикрепляю ссылку к хранилищу bitbucket, у которого есть урезанная версия пакета, которая может помочь в ответеэтот вопрос. Ссылка также написана ниже:

https://bitbucket.org/arp2012/stackoverflow/src/master/

Я прошу прощения, если ответ на этот вопрос тривиален, но я не смогнайти решение этой проблемы немного и решил обратиться за помощью.Заранее спасибо!

1 Ответ

0 голосов
/ 16 октября 2018

В конечном итоге мне удалось решить проблему с несколькими путями Python, установив пакет внутри докер-контейнера, в котором была установлена ​​только одна версия Python и Anaconda.Это решение, однако, не является ни идеальным, ни элегантным.

...