Pip установить и запустить git repo

1

Я пытаюсь установить отдельное git-репо в свой проект на python. Pip install работает, когда я запускаю 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 (в отдельном callerFile.py git):

from myapp import test
print test.random_print()

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

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

Теги:
python-3.x
pip
pypi

3 ответа

2
Лучший ответ

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

Изображение 174551

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

packages=['myapp'],

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

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

1

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

Мой совет: переименуйте ваш __init__.py в myapp.py и добавьте его в setup.py:

setup(
    …
    py_modules=['myapp'],
    …
)
1

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

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

  • 0
    Более того, вы можете добавить --process-dependency-links на задней панели для обработки boto3 и selenium.
  • 0
    По-прежнему получаю ту же ошибку. Я изменил вопрос и включил реальное репозиторий github, чтобы его было легче отлаживать

Ещё вопросы

Сообщество Overcoder
Наверх
Меню