我有一个具有以下目录结构的包:
mypackage
mypackage
__init.py__
users.py
bin
mypackage.py
setup.py
Run Code Online (Sandbox Code Playgroud)
我的 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'])
Run Code Online (Sandbox Code Playgroud)
__init__.py 包含:
import mypackage.users
Run Code Online (Sandbox Code Playgroud)
我的 bin/mypackage.py 包括:
from mypackage.users import *
Run Code Online (Sandbox Code Playgroud)
我在跑步
python3 setup.py install
Run Code Online (Sandbox Code Playgroud)
一切正常,然后在终端上输入:
mypackage.py
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
from mypackage.users import *
ImportError: No module named 'mypackage.users'; 'mypackage' is not a package
Run Code Online (Sandbox Code Playgroud)
如果我尝试:
python3
import mypackage
Run Code Online (Sandbox Code Playgroud)
我没有错误。我也使用 virtualenv(此处未显示),但我确定没有其他冲突。