Запустите сценарий оболочки во время установки pipPython

Программы на Python
Гость
Запустите сценарий оболочки во время установки pip

Сообщение Гость »

Я опубликовал пакет PyPI, для которого требуются некоторые дополнительные пакеты Apt, поэтому в моем репозитории Github есть файл setup.sh, который я хочу выполнить вместе с процессом установки pip install mypackage ( т. е. всякий раз, когда пользователь запускает pip install mypackage, он должен запускать сценарий оболочки в процессе установки.)
Я создал свой файл setup.py для использования параметр cmdclass, подобный этому

Код: Выделить всё

from setuptools import setup, find_packages
from setuptools.command.install import install
import subprocess
import codecs
import os

class CustomInstall(install):
def run(self):
subprocess.check_call("bash setup.sh", shell=True)
install.run(self)

with open('requirements.txt') as f:
requirements = f.read().splitlines()

setup(
...
cmdclass={'install': CustomInstall},   install_requires=requirements,
...
)
Когда я обычно собираю его с помощью python setup.py sdist bdist_wheel, класс Custominstall работает нормально, но во время установки через pip он игнорирует класс Custominstall.
Наконец я нашел этот поток stackoverflow, из которого я узнал, что мне нужно только запустить python setup.py sdist, что я и сделал, и получил файл tar.gz в dist< /code>, но когда я собираюсь установить этот файл tar.gz с помощью pip install, я получаю

Код: Выделить всё

with open('requirements.txt') as f:

^^^^^^^^^^^^^^^^^^^^^^^^

FileNotFoundError: [Errno 2] No such file or directory: 'requirements.txt'
Что я делаю не так? Путь неверный? Файл требований находится в родительской папке моего репозитория (а не внутри какой-либо другой папки)

Подробнее здесь: https://stackoverflow.com/questions/782 ... ip-install

Вернуться в «Python»