Что делает хорошо организованный модуль Python, чтобы установить себя? - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть часть программного обеспечения на python, которое было написано кем-то другим в виде однофайлового модуля на 1500 строк, с комментариями внизу, где говорится, что нужно вставить исходный код, который вызывает классы в модуле.Я хотел бы улучшить это и, надеюсь, сделать это хорошим, стандартным способом, чтобы мои изменения были приемлемы для сопровождающих кода в качестве патча и полезны для других людей.

Если я сделаю

python2 -c "import sys; print(sys.path)"
python3 -c "import sys; print(sys.path)"

похоже, что моя установка python в linux предполагает наличие модулей в /usr/lib/python2.7 или /usr/lib/python3.5.Поэтому самое основное, что приходит мне в голову, это написать Makefile с целью «install», которая определяет номера версий 2.7 и 3.5 и копирует модуль в соответствующие места.

Я предполагаю, что этоне самый лучший или самый стандартный способ сделать это, так как с одной стороны это не будет работать в Windows.Стоит ли мне как-то настраивать его с помощью pip?Примеры, которые я видел, как использовать pip all, похоже, предполагают, что вы используете код, написанный кем-то другим, который уже был принят в некоторый центральный репозиторий.

1 Ответ

0 голосов
/ 22 декабря 2018

Вы можете сделать это с помощью пункта.Создайте файл setup.py, например:

from distutils.core import setup

setup(
    name='mypackage',
    version='0.1',
    packages=['mypackage'],
    license='Some license',
    long_description='Insert description'
)

Это предполагает, что ваша файловая структура выглядит примерно так:

mypackage/
    mypackage/
        __init__.py
        myfile.py
    setup.py

Затем запустите pip install -e . (установка для разработки) или простоpip install . (обычная установка) в каталоге пакета.Разница между ними в том, что pip install -e не копирует его в каталог python, а просто связывает его там, что, я думаю, вам не нужно.

...