【发布时间】:2018-08-24 01:26:07
【问题描述】:
我在安装我的一个 python 脚本时遇到问题。它的结构如下:
myproject
setup.py
src
myproject
otherfolders
main.py
__init__.py
我的setup.py创建一个像这样的入口点:
from setuptools import setup, find_packages
setup(name='mypackage',
version='2.4.0',
author='me',
author_email='...',
package_dir={'':'src'},
packages=find_packages('myproject'),
install_requires=[
"networkx",
"geopy",
"pyyaml"
],
zip_safe=False,
entry_points={
'console_scripts': [
'myproject=myproject.main:main',
],
},
)
现在,使用sudo python setup.py install 成功安装后,我运行mypackage 并收到导入错误:No module named mypackage.main。
我知道有很多类似的问题,我尝试了here 建议的大多数/所有解决方案,例如,检查__init__.py 并设置PYTHONPATH,但问题仍然存在。
我在两台不同的 Ubuntu 16.04 机器上运行它。
我很确定这在以前有效,但即使我回到较早的提交,它现在也不起作用。
我注意到安装可以使用develop,但仍然无法使用install。这对任何人都有意义吗?
【问题讨论】:
-
您的目标是哪个 Python 版本?目前是 2.7
-
脚本是用 Python 3.5 编写的。我也尝试使用
sudo python3 setup.py install安装它(也成功),但是当我运行它时,我得到了类似的错误:ModuleNotFoundError: No module named 'myproject -
python setup.py 的东西是 python 最糟糕的地方。
标签: python installation python-import setuptools importerror