我有一个要构建为系统范围的可执行文件的应用程序。奇怪的是,构建很好,但是当我打电话时:
python3.5 -m pip install --upgrade some-name.whl
所有操作成功,可执行文件可在系统范围内访问,但无法导入入口点所在的模块。
这是setup.py:
setup(
name='ppldetect',
version=version(),
packages=find_packages(exclude=['docs', 'tests', 'tests.*', '*.tests', '*.tests.*']),
author='',
author_email='',
description='',
setup_requires=['sphinx', 'nose', 'wheel'],
install_requires=['Pillow', 'AWSIoTPythonSDK'],
entry_points={
'console_scripts': [
'ppldetect = publisher.basicPubSub:main',
]
}
)
这是我尝试执行命令时遇到的错误:
Traceback (most recent call last):
File "/usr/local/bin/ppldetect", line 7, in <module>
from publisher.basicPubSub import main
ImportError: No module named 'publisher'
我已将pip升级到最新版本。足够有趣的是,我已经使用相同的 setup.py 作为模板已有相当长的一段时间了,以前从未遇到过问题。
我使用过的所有其他项目都在构建和正常运行。
注意:我试图在Raspberry PI和我在Ubuntu下尝试过的所有其他项目上运行它。
编辑:我这样构建.whl:
python3.5 setup.py bdist_wheel
答案 0 :(得分:0)
不幸的是,IDE使我们变得懒惰而不是十分谨慎。
由于我在Raspberry中使用有限的资源来做所有这些事情,所以我不得不创建一个__init__
文件,并且完全忘记添加.py扩展名(因为PyCharm本身就是这样做的),并且一旦添加就一切正常。