Используйте пользовательский пакет Python - PullRequest
0 голосов
/ 25 апреля 2018

Я довольно плохо знаком с Python и не знаю, как использовать пользовательский пакет или его жизненный цикл разработки.

Я занимаюсь разработкой библиотеки Python, предназначенной для использования многимисценарии, расположенные в указанной папке в производственной среде.

В настоящее время библиотека и сценарии, которые ее используют, сильно связаны с точки зрения жизненного цикла разработки , поскольку ее разработка все еще находится на ранней стадии разработки.фаза.

Вопрос в том, как проверить, работает ли библиотека нормально при использовании из сценариев?

До сих пор, чтобы иметь возможность импортировать пользовательскую библиотеку из сценариев, я рассмотрел3 различных варианта:

  1. Как установленный пакет с pip или около того

  2. Каким-то образом загрузить пакет в каталог и изменить pythonpath

  3. В качестве каталога в папке скриптов

Из моего опыта работы с другими языками вариант 1 был бы лучшим, так как он, вероятно, был бы легчеобрабатывать релизы пакетов, и все было бы «стандартным» способом, однако в моем случае это может быть как-то сложно, так как источник пакета размещен на частном сервере Gitlab, изолированном от производственной среды.

Опции 2 и 3 кажутся мне обходными путями и не очень похожи на «хороший способ» использования пользовательской библиотеки.

Есть ли в Python другие альтернативы для эффективного использования пакета?

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018

Начиная с того, как использовать пользовательский пакет

Вы должны определить, какова цель этого пакета. Я имею в виду, что это будет полезно для всех или только для вас. В первом случае лучше всего опубликовать его на PyPI (в этом случае выполните все шаги). Если это вторая цель, пропустите шаг 5.

Затем, независимо от цели вашего пакета, первые шаги:

  1. Разработайте пакет (попробуйте документировать и протестировать его). PyCharm - это хорошая IDE, которая может помочь в создании модульного теста. Я рекомендую вам взглянуть на следующую ссылку: Create-and-running-Python_Test

    Структура папки Project Test, над которой я работал

  2. Второй шаг - создание файла setup.py. Файл setup.py содержит много полей. Вот вам пример:

      from setuptools import setup
    
    
      setup(
      name='mdutils',
      version=1.0,
      license='BSD',
      author='Didac Coll',
      author_email='didaccoll_93@hotmail.com',
      maintainer='Dídac Coll',
      maintainer_email='didaccoll_93@hotmail.com',
      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'])
    
  3. После того, как вы создали свой пакет, вы должны протестировать дистрибутив следующей командой python setup.py develop

  4. Если все в порядке, теперь вы можете создать свой дистрибутив с помощью следующей команды 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.

    Выполнение предыдущих команд установит ваш пакет в вашу папку site-package.

    Здесь вы найдете много информации об упаковке и распространении: https://packaging.python.org/tutorials/distributing-packages/

Здесь также есть хороший учебник: https://python -packaging.readthedocs.io / en / latest /

  1. Наконец, если ваш проект работает правильно, вы можете опубликовать его в PyPi. Вы должны создать учетную запись. После того, как он у вас есть, используйте следующую команду для регистрации вашего пакета: python setup.py register. Я настоятельно рекомендую вам протестировать его на TestPyPI, прежде чем публиковать на PyPI. Создайте еще одну учетную запись здесь: https://test.pypi.org/ и введите эту команду на своем терминале PyCharm: twine upload --repository-url https://test.pypi.org/legacy/ dist/* (Подробнее о TestPyPI здесь ).
0 голосов
/ 25 апреля 2018

На сегодняшний день лучший способ распространения пакета - через pip. Функция проста в использовании, и нет никаких проблем с компилятором, о которых конечный пользователь уже позаботился при распространении. pip особенно полезен, если ваш пакет содержит расширения C, поскольку компиляция в ОС (в частности, в Windows) может быть кошмаром.

Другой способ (похожий на 2) - установить из исходного кода, то есть файл setup.py, и не добавлять pythonpath, просто установить его, как при использовании pip:

Вам потребуется скрипт установки setuptools. Когда вы будете готовы к сборке, запустите:

python setup.py build

OR python ./setup.py build

если вы работаете в PowerShell.

Будет создан сжатый файл, содержащий исходный код (скомпилированный в случае расширений), и вы можете распространять его.

Конечный пользователь просто должен запустить:

python setup.py install 

ИЛИ python ./setup.py install в PowerShell для установки пакета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...