Моего PyCharm был структурирован таким образом:проблем импорта Python при импорте моего собственного пакета
MyPrj
|_ src
|_ main.py
MyPackage
|_ src
| |_ MyPackage
| |_ __init__.py
| |_ MyModule.py
|_ setup.py
В main.py
я добавил эту строку: from MyPackage import MyModule
. Я успешно установил этот модуль, используя anaconda3 (~/anaconda3/bin/pip install .
). После того, как возникла проблема с тем, что MyPackage
не был найден, я повторно установил anaconda3, и код, наконец, работал.
Теперь я добавил еще один модуль MySub.py
в MyPackage/src/MyPackage
, а затем я импортировал его в MyModule.py
(from MySub import sub
, где sub
является класс корректно определен в MySub.py
). После обновления моего пакета в anaconda3, когда я пытаюсь запустить main.py
, я получаю следующую ошибку: ImportError: No module named 'sub1'
, однако, если я загляну в папку anaconda3 MySub.py
. Как решить эту проблему?
Это мой setup.py
файл:
import os
from setuptools import setup
def read(fname):
return open(os.path.join(os.path.dirname(__file__), fname)).read()
setup(
name='MyPackage',
version='0.1',
description='my description',
long_description=read('README.txt'),
packages=['MyPackage'],
package_dir={'MyPackage': 'src/MyPackage'},
zip_safe=False
)
мой __init__.py
файл пуст.
Вы действительно положили '.py' на свои' import' заявления? – user2357112
Извините, это была опечатка, которую я исправил. – AreTor
Нам нужно увидеть настоящую [mcve], а не несколько строк забытых импорта и дерева каталогов. – user2357112