【发布时间】:2020-06-20 13:54:42
【问题描述】:
我正在尝试将 python 程序制作成一个包: 这是我的 setup.py
from setuptools import setup, find_packages
setup(
name='scroll',
version='2020.6.14',
# package_dir={'': 'scroll'},
packages=find_packages(),
install_requires=[
'Click',
],
entry_points='''
[console_scripts]
scroll=scroll:scroll
''',
# .... all other stuff
)
这是模块结构,
SCROLL
- scroll/
|
+--scroll.py
- setup.py
- MANIFEST.in
- venv/
当我运行python setup.py sdist 时,会创建一个tar.gz 文件,提取时它包含projects\SCROLL\dist\scroll-2020.6.14\dist_scroll-2020.6\scroll-2020.6.14\scroll 处的源代码
但是当我使用pip install ./dist/scroll-2020.6.14.tar.gz 安装存档时,
运行scroll 产生ModuleNotFoundError: No module named 'scroll'
这是因为在安装过程中,源代码没有复制到SCROLL\venv\lib\python3.8\site-packages\。
手动将滚动文件夹复制到site-packages 即可解决此错误
我尝试使用MANIFEST.in 文件,内容如下,但代码仍未复制到site-packages
include scroll
recursive-include scroll *.py
【问题讨论】:
标签: python pip setuptools python-packaging python-click