我的PyCharm项目的结构如下:
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,代码终于可以工作了。你知道吗
现在我在MyPackage/src/MyPackage
中添加了另一个模块MySub.py
,然后在MyModule.py
(from MySub import sub
,其中sub
是在MySub.py
中正确定义的类)。在anaconda3中升级我的包之后,当我尝试运行main.py
时,我得到以下错误:ImportError: No module named 'sub1'
,但是如果我查看anaconda3的site-packages
文件夹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
文件是空的。你知道吗
更改:
收件人:
module
是Python模块的名称;module.py
是文件本身的名称,在import语句中是不允许的。实际上,当您执行import module.py
操作时,Python导入系统将在module
中的名为py
的对象中查找,这不太可能是您真正想要的。有关详细信息,请参见this和this。你知道吗相关问题 更多 >
编程相关推荐