我有使用问题setup.py
安装一个Python包。 首先,我有以下的目录设置:
maindir
|- setup.py
|-mymodule
|- __init__.py
|- mainmodule.py
|-subdir
|- __init__.py
|- submodule.py
即项目目录包含setup.py
和目录mymodule
,这本身就包含了两个目录两个Python模块。 该文件submodule.py
只包含
teststring = "hello world"
mainmodule.py
包含:
from .subdir import submodule
mainstring = "42"
和setup.py
包含:
import os
from setuptools import setup
setup(
name = "mytestmodule",
version = "0.0.1",
description = ("A simple module."),
packages=['mymodule'],
)
当我from mymodule import mainmodule
与ipython
从内sourceTest
行为按预期工作,我可以引用如mainmodule.submodule.teststring
这给我字符串hello world
。
在另一边,当我安装这个“包”使用python setup.py install
和尝试做相同的(从其他目录内),我得到一个导入错误:
In [1]: from mymodule import mainmodule
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
/home/alexander/<ipython-input-1-cf4c9bafa487> in <module>()
----> 1 from mymodule import mainmodule
/home/alexander/build/bdist.linux-i686/egg/mymodule/mainmodule.py in <module>()
ImportError: No module named subdir
我不明白我做错了,我跟着入门教程和导入内包的规则 。 我想我的错误是一个非常微小的一个,但我看不出它和帮助表示赞赏。