我有一个包含以下目录结构的包:
mypackage
mypackage
__init.py__
users.py
bin
mypackage.py
setup.py
我的setup.py看起来像这样:
from setuptools import setup, find_packages
setup(
name='mypackage.py',
version='0.9',
packages=find_packages(),
scripts=['bin/mypackage.py'],
install_requires=['np', 'filelock', 'python-dateutil', 'requests', 'numpy'])
__init__.py包含:
import mypackage.users
我的bin / mypackage.py包含其他内容:
from mypackage.users import *
我正在运行
python3 setup.py install
一切都很好,然后在终端上输入:
mypackage.py
我受到以下错误的欢迎:
from mypackage.users import *
ImportError: No module named 'mypackage.users'; 'mypackage' is not a package
如果我尝试:
python3
import mypackage
我没有错误。我也使用virtualenv(此处未显示),但我确信没有其他冲突。
答案 0 :(得分:3)
长话短说,可执行脚本不能像包一样具有相同的名称。我的生命中失去了3个小时。