Pip установить и запустить git repo - PullRequest
1 голос
/ 12 марта 2019

Я пытаюсь установить отдельное git-репо в свой проект на python.Установка Pip, кажется, работает, когда я запускаю pip install git+https://github.com/XxdpavelxX/myapp.Однако когда я запускаю свой код, я получаю следующую ошибку.

Вот мое приложение: https://github.com/XxdpavelxX/myapp

ModuleNotFoundError: No module named 'myapp'
ERROR: could not load /Users/myUser/stuff/callerFile.py

Вот callerFile.py (в отдельном репозитории git):

from myapp import test
print test.random_print()

Я подозреваю, что это pip install связано.Когда я запускаю pip install git+https://github.com/XxdpavelxX/myapp, это, кажется, проходит, однако внутри моего питона venv/lib/python3.7/site-packages я вижу только myapp-1.0py3.7.eggs-info вместо реального пакета.Кто-нибудь знает, что я делаю не так?Нужно ли добавлять свою библиотеку в pypi, чтобы это работало?

Редактировать: Добавлен фактический URL в репозиторий github, который я тестирую.

Ответы [ 3 ]

2 голосов
/ 12 марта 2019

Создайте папку с именем myapp и переместите файлы __init__.py и test.py в эту папку.

enter image description here

Добавьте следующую строку в ваш setup.py (я добавил после URL),

packages=['myapp'],

Теперь установка пройдет успешно, и вы можете импортировать ваш пакет.

Что такое setup.py?

1 голос
/ 12 марта 2019

Ваш пакет не имеет ни py_modules, ни packages, поэтому при установке он не устанавливает ничего импортируемого.

Мой совет - переименовать ваш *От 1009 * до myapp.py и добавьте это к setup.py:

setup(
    …
    py_modules=['myapp'],
    …
)
1 голос
/ 12 марта 2019

Вам не нужно публиковать свой код в pypi.Я предлагаю вам использовать тег #egg для установки имени пакета.Таким образом, состояние пункта будет выглядеть как

pip install git+https://github.com/myGitUser/myLibrary#egg=myLibrary

...