python-3.x - pip安装.whl文件只生成*.dist-info文件夹
问题描述
我有一个应用程序,我正在尝试构建并安装为系统范围的可执行文件。奇怪的是构建很好,但是当我打电话时:
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
解决方案
不幸的是,IDE 让我们变得懒惰而且不够敏锐。
由于我在 Raspberry 中使用有限的资源执行所有这些操作,因此我手动创建了一个__init__
文件,并且完全忘记了添加 .py 扩展名(就像 PyCharm 自己做的那样),一旦添加就一切正常。
推荐阅读
- python - 如何去除图像处理中的特定数据
- php - PHP 如何使用来自外部源的特定定义/包含
- javascript - 无服务器 WebSockets - 没有找到与 http 方法 POST 的路由 @connections/* 匹配的方法
- mysql - 按降序确定提供游乐设施的前 2 位首选用户
- python - imageio 的 imread 转换为 RGB 模式
- python - 只要按下按钮,如何更改值
- flutter - 热重载与调用 setState 的区别?
- logstash - 翻译:未加引号的字段不允许 \r 或 \n (第 1 行)
- git - 如何为所有 Git 分支“git pull --rebase”?
- c# - 从我的反应应用程序调用我的 asp.net 核心控制器并在尝试获取它时返回 null 时不会生成 Cookie