Я новичок в Python, и я действительно не знаю, как использовать пользовательский пакет или его жизненный цикл разработки.
Я разрабатываю библиотеку Python, предназначенную для использования из многих скриптов, расположенных в указанной папке в производственной среде.
В настоящее время библиотека и скрипты, которые ее используют, являются сильно связаны с точки зрения жизненного цикла разработки, так как разработка все еще находится на ранней стадии.
Вопрос в том, как я могу проверить, нормально ли работает библиотека при использовании из скриптов?
До сих пор, чтобы иметь возможность импортировать пользовательскую библиотеку из скриптов, я рассмотрел 3 различных альтернативы:
Как установленный пакет с pip или около того
Как-то скачиваем пакет в директорию и переделываем pythonpath
Как каталог в папке скриптов
Исходя из моего опыта работы с другими языками, вариант 1 был бы лучшим, поскольку, вероятно, было бы легче обрабатывать выпуски пакетов, и все было бы «стандартным» способом, однако в моем случае это может быть как-то сложно, поскольку исходный код пакета размещен в частный сервер Gitlab, изолированный от производственной среды.
Варианты 2 и 3 кажутся мне обходными путями и не очень похожи на «хороший способ» использования пользовательской библиотеки.
Есть ли другие альтернативы в Python для эффективного использования пакета?






Безусловно, лучший способ распространять пакет - через pip. Эта функция проста в использовании, и конечный пользователь не имеет проблем с компилятором, о которых уже позаботились при распространении. pip особенно полезен, если ваш пакет содержит расширения C, поскольку компиляция в операционных системах (в частности, Windows) может быть кошмаром.
Другой способ (аналогичный 2) - установить из источника, то есть файла setup.py, а не добавлять путь к python, просто установите его, как и с pip:
Вам понадобится сценарий установки setuptools. Когда вы будете готовы к сборке, запустите:
python setup.py build
ИЛИ ЖЕ сборка python ./setup.py
если вы работаете в PowerShell.
Это создаст сжатый файл, содержащий исходный код (скомпилированный в случае расширений), и вы сможете его распространять.
Конечному пользователю просто нужно запустить:
python setup.py install
ИЛИ python ./setup.py install на PowerShell, чтобы установить пакет.
вы должны определить, какова цель этого пакета. То есть то, что будет полезно всем или только вам. В первом случае лучше всего опубликовать его на PyPI (в этом случае выполните все шаги). Если это вторая цель, пропустите шаг 5.
Затем, какова бы ни была цель вашего пакета, первые шаги:
Разработайте пакет (попробуйте его задокументировать и протестировать). PyCharm - это хорошая IDE, которая может помочь в создании модульных тестов. Я рекомендую вам взглянуть на следующую ссылку: Создание и запуск Python_Test
Второй шаг - создать файл setup.py. Файл setup.py может содержать множество полей. Вот вам пример:
from setuptools import setup
setup(
name='mdutils',
version=1.0,
license='BSD',
author='Didac Coll',
author_email='[email protected]',
maintainer='Dídac Coll',
maintainer_email='[email protected]',
description='A package, useful to create Markdown files while executing python code.',
long_description=open('README.md').read(),
platforms=['Python 3.6'],
packages=['mdutils', 'mdutils.tools', 'mdutils.fileutils'],
include_package_data=True,
zip_safe=False,
classifiers=['Development Status :: 4 - Beta',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 3.6',
'Topic :: Utilities',
'License :: OSI Approved :: BSD License'])
После того, как вы создали свой пакет, вы должны протестировать дистрибутив с помощью следующей команды python setup.py develop
Если все в порядке, теперь вы можете создать свой дистрибутив с помощью следующей команды python setup.py sdist. Это создаст новую папку с именем dist, в которой вы найдете файл tar.gz. Если вы заинтересованы в создании дистрибутива для Windows, я рекомендую вам использовать следующую команду python setup.py sdist --format=zip. Таким образом, вы собираетесь создать zip-файл в папку dist.
Теперь у вас есть собственный дистрибутив пакета в сжатом файле. Так что если ты хочешь
чтобы установить его в проект, достаточно использовать только pip: pip install mdutils-
1.0.zip. Вы также можете обновить его, используя следующую команду python: python
install --upgrade mdutils-2.0.zip.
Выполнение предыдущих команд установит ваш пакет в папку вашего сайта.
Здесь вы найдете много информации об упаковке и распространении: https://packaging.python.org/tutorials/distributing-packages/
Здесь тоже есть хороший учебник: https://python-packaging.readthedocs.io/en/latest/
python setup.py register. Я настоятельно рекомендую вам протестировать его на TestPyPI, прежде чем пытаться опубликовать на PyPI. Создайте еще одну учетную запись здесь: https://test.pypi.org/ и введите эту команду в своем терминале PyCharm: twine upload --repository-url https://test.pypi.org/legacy/ dist/* (Подробнее о TestPyPI здесь).