Установка PIP Редактируемый пакет производит модульнотфундеррорPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Установка PIP Редактируемый пакет производит модульнотфундеррор

Сообщение Anonymous »

Из -за проблем с импортом я выполнил шаги, показанные здесь, чтобы установить свой проект Python в качестве редактируемого пакета PIP . По сути, это влечет за собой запуск PIP Install -e. из моего проекта Root Directory. Имя проекта - «myProject», с setup.py < /code> настроен как таковой: < /p>

Код: Выделить всё

from setuptools import setup, find_packages

setup(name='myproject', version='1.0', packages=find_packages())
< /code>

Структура проекта похожа на SO: < /p>

.
├── myproject
│   ├── core
│   │   ├── core.py
│   │   └── __init__.py
│   └── tests
│       ├── __init__.py
│       └── test_one.py
├── setup.py
└── env
└── ...
< /code>

С venv < /code> активирован, я получаю следующий вывод: < /p>

(env) [root@localhost /]$ python -V
Python 3.6.3

(env) [root@localhost /]$ pip -V
pip 9.0.1 from /myproject/venv/lib64/python3.6/site-packages (python 3.6)
< /code>

Однако при запуске интерпретированного сеанса я испытываю следующее: < /p>

(env) [root@localhost /]$ python
>>> import myproject
Traceback (most recent call last):
File "", line 1, in 
ModuleNotFoundError: No module named 'myproject'
>>> from myproject.core import *
Traceback (most recent call last):
File "", line 1, in 
ModuleNotFoundError: No module named 'myproject'
< /code>

Запуск другого интерпретированного сеанса и запуска Setuptools < /code> Mefy Meformble Speaking: < /p>

(env) [root@localhost /]$ python
>>> from setuptools import find_packages
>>> find_packages()
>>> ['core', 'tests']
< /code>

Я также пробовал другие методы его установки, включая: < /p>

python -m pip install -e .
< /code>

и все еще получает те же проблемы. Наконец, я могу сделать следующее: < /p>

(env) [root@localhost /] pip list installed | grep myproject
myproject (1.0, /myproject)
< /code>

 update < /strong>: как показано здесь и как упомянуто @fletchy1995 ниже, изменяя структуру каталога, чтобы вместо этого было похоже на: < /p>

.
├── setup.py
├── myproject
│   ├── core
│   │   ├── core.py
│   │   └── __init__.py
│   └── tests
│       ├── __init__.py
│       └── test_one.py
├── __init__.py
└── env
└── ...
< /code>

и изменение setup.py < /code>, чтобы выглядеть так: < /p>

from setuptools import setup

setup(name='myproject', version='1.0', packages=['myproject'])
< /code>

Наряду с запуском PIP Install -e. < /code> из каталога верхнего уровня, по -видимому, исправил проблему. Но  в предыдущем случае < /strong>, даже если загруженные пакеты включают все суб-пакеты «myProject», почему я все еще не могу делать что-то вроде: < /p>

(env) [root@localhost /]$ python
>>> from myproject.core import *
as 'myproject' указан в Pip ?

Подробнее здесь: https://stackoverflow.com/questions/576 ... founderror
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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