Из -за проблем с импортом я выполнил шаги, показанные здесь, чтобы установить свой проект 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 *
Из -за проблем с импортом я выполнил шаги, показанные здесь, чтобы установить свой проект Python в качестве редактируемого пакета PIP . По сути, это влечет за собой запуск PIP Install -e. из моего проекта Root Directory. Имя проекта - «myProject», с setup.py < /code> настроен как таковой: < /p>
Однако при запуске интерпретированного сеанса я испытываю следующее: < /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>
Наряду с запуском PIP Install -e. < /code> из каталога верхнего уровня, по -видимому, исправил проблему. Но в предыдущем случае < /strong>, даже если загруженные пакеты включают все суб-пакеты «myProject», почему я все еще не могу делать что-то вроде: < /p>
(env) [root@localhost /]$ python >>> from myproject.core import * [/code]
Я запускаю WSL: Ubuntu через VSCODE. В терминале у меня есть виртуальная среда, .venv, активирована. Бэкэнд. Я могу запустить приложение Flask независимо через Flask -App Py/Routes -debug run и иметь функцию, настроенную в файле «main.js» в...