我在尝试运行我的应用程序时遇到此错误,该应用程序是通过从PyPi下载的
$ python3 -m pip install --user speed-reader
$ speed-reader --help
Traceback (most recent call last):
File "/home/h5l/.local/bin/speed-reader", line 5, in <module>
from reader import main
ModuleNotFoundError: No module named 'reader'
我从来没有为PyPi打包过东西,所以我可能误解了他们的文档
这是我的setup.py
$ cat setup.py
import setuptools
with open("README.md", "r") as f:
long_description = f.read()
setuptools.setup(
name="speed-reader",
version="1.0.3",
author="h5law",
author_email="h5law@pm.me",
description="A speed reader implemented in Python",
long_description=long_description,
long_description_content_type="text/markdown",
url="https://github.com/h5law/speed-reader",
packages=setuptools.find_packages(),
classifiers=[
"Programming Language :: Python :: 3",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent"
],
python_requires='>=3.6',
install_requires=["numpy", "click"],
entry_points={
'console_scripts': [
'speed-reader = reader:main',
],
},
)
我哪里做错了?我的目录结构如下:
reader/
- LICENSE.txt
- README.md
- setup.py
- requirements.txt
- speed-reader/
- __init__.py [empty]
- reader.py [entry point main() exists]
问题是,当直接运行时,它会工作,所以问题一定是包装没有
$ python3 reader.py --help
Usage: reader.py [OPTIONS] PATH
Options:
--version Show the version and exit.
--wpm INTEGER Read at specified WPM, defaults to 160
--help Show this message and exit.
更新:
像这样安装软件包
$ git clone https://github.com/h5law/speed-reader
$ cd speed-reader
$ python3 -m pip install .
在不发生错误的情况下创建完全工作的包
任何和所有的帮助将不胜感激
您正在使用
packages=setuptools.find_packages()
,这将在当前目录中找到模块python模块可以是
*.py
文件,也可以是包含__init__.py
文件的目录因此
find_packages
仅查找speed-reader
包。如果您想从中访问reader.py
,您需要执行以下操作:相关问题 更多 >
编程相关推荐