Установка моего собственного модуля Python в виртуальной среде - PullRequest
0 голосов
/ 28 сентября 2018

Что у меня есть:

  • локальные файлы Python3, которые я хочу превратить в модуль test_module

  • test_module папка, содержащая пустой __init__.py, setup.py файл (см. Ниже) и подкаталоги с несколькими исходными файлами

Что я хочу:

  1. постоянно работают и улучшаются test_module локально

  2. имеют простой способ установки test_module и всех его зависимостей локально в моем собственном виртуальномокружение (созданное с использованием python3 -m venv my_environment)

  3. запускать файлы, использующие модуль через python myexample.py, без необходимости настраивать мою локальную переменную PYTHONPATH при каждом входе или выходеmy_environment

  4. делятся своим кодом на python с другими с помощью git и позволяют им устанавливать свой код локально на своих машинах, используя ту же процедуру (настолько простую, насколько это возможно)

  5. узнайте лучшие практики по созданию моего собственного модуля

Как я делаюНа данный момент:

I 'Хотелось бы узнать, есть ли «более чистые» решения, основанные на setup.py, возможно, включающие что-то вроде pip install ./test_module или подобное, которое заботится о 2.-3.

Мой текущий файл setup.py выглядит следующим образом

 from setuptools import setup

 setup(
    name='test_module',
    version='0.1',
    description='Some really good stuff, that I am still working on',
    author='Bud Spencer',
    author_email='bud.spencer@stackoverflow.com',
    packages=['test_module'],  # same as name
    install_requires=['numpy', 'scipy', 'sklearn', 'argparse'], # external packages as dependencies
  )

1 Ответ

0 голосов
/ 06 июня 2019

Звучит так, как будто вы хотите запустить pip install -e <path/url> из вашего виртуального окружения, который установит пакет (с файлом setup.py, который у вас есть) из локального пути или из репозитория Git.См. https://pip.pypa.io/en/stable/reference/pip_install/#vcs-support для объяснения синтаксиса последнего.

Пример:

pip install -e git+https://github.com/me/test_module/#egg=test-module

Если вы уже установили и хотите получить последний код из репозитория,добавьте к указанному выше переключатель --upgrade.

...