Я пытаюсь установить отдельное 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, который я тестирую.
Создайте папку с именем myapp и переместите файлы __init__.py и test.py в эту папку.
Добавьте следующую строку в ваш setup.py (я добавил после URL),
packages=['myapp'],
Теперь установка будет успешной, и вы сможете импортировать ваш пакет.
Ваш пакет не имеет ни py_modules
ни packages
следовательно, он не устанавливает ничего импортируемого при установке.
Мой совет: переименуйте ваш __init__.py
в myapp.py
и добавьте его в setup.py
:
setup(
…
py_modules=['myapp'],
…
)
Вам не нужно публиковать свой код в Pypi. Я предлагаю вам использовать тег #egg
для установки имени пакета. Таким образом, статус пипа будет как
pip install git+https://github.com/myGitUser/myLibrary#egg=myLibrary
--process-dependency-links
на задней панели для обработки boto3 и selenium.