Установка моего собственного модуля Python внутри виртуальной средыPython

Программы на Python
Anonymous
Установка моего собственного модуля Python внутри виртуальной среды

Сообщение Anonymous »

Что у меня есть:
  • локальные файлы Python3, которые я хочу превратить в модуль test_module
  • test_moduleПапка , содержащая пустой __init__.py, файл setup.py (см. ниже) и подкаталоги с несколькими исходными
    файлами
Чего я хочу:
  • постоянно работать над test_module и улучшать его локально
  • иметь простой способ установить test_module и все его зависимости локально у себя виртуальная среда (созданная с помощью python3 -m venv my_environment)
  • запускать файлы, использующие модуль, через python myexample.py без необходимости заботиться об адаптации моей локальной переменной PYTHONPATH каждый раз, когда я вхожу в my_environment или выхожу из него
  • делюсь своим кодом Python с другими через git и разрешить им устанавливать свой код локально на свои машины, используя ту же процедуру (настолько простую, насколько это возможно)
  • узнать лучшие практики по созданию собственного модуля
Как я это делаю в данный момент:
  • pip freeze > requirements.txt и pip install -r require.txt для установки зависимостей
  • добавления экспорта PYTHONPATH="${PYTHONPATH}:."< /code> в my_environment/bin/activate, чтобы иметь собственный модуль в пути поиска
    (как показано здесь: Как установить путь к Python в уже созданном виртуальном окружении?)
Мне хотелось бы знать, существуют ли «более чистые» решения на основе 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
)


Подробнее здесь: https://stackoverflow.com/questions/525 ... nvironment

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