【发布时间】:2018-03-21 09:38:44
【问题描述】:
我是 python 打包和分发的新手。我有一个要 pip 安装的 python 应用程序,所以我为它创建了一个 setup.py。
现在 setup.py 有 install_requires ,它会在缺少依赖项时发出警报,但我想知道我是否可以/应该提供一种方法来自动安装缺少的依赖项。目前该应用需要一个自主开发的共享包,无需外部包。
编辑:
我的 setup.py:
from setuptools import setup
setup(
name="TcpMonitor",
version="1.0",
packages=["tcpmonitor"],
py_modules=["tcp_monitor"],
install_requires=[
"CommonPyLib",
],
entry_points='''
[console_scripts]
tcp_monitor_gui=tcpmonitor:main
'''
)
Pip 安装输出:
Collecting CommonPyLib (from TcpMonitor==1.0)
Could not find a version that satisfies the requirement CommonPyLib (from TcpMonitor==1.0) (from versions: )
No matching distribution found for CommonPyLib (from TcpMonitor==1.0)
【问题讨论】:
-
我认为你如何接近它是要走的路。但是,要自动安装它们,我认为您可以创建一个文本文件并在其上调用 pip install ......类似于stackoverflow.com/questions/7225900/…
-
通常用户会使用 Pip 安装你的包,因此
install_requires中列出的依赖项将被自动安装。 -
@Josh 你确定吗?我收到一个错误:“找不到满足要求
的版本”。我错过了什么吗? (将 setup.py 添加到问题中) -
@EladWeiss 查看 Simon 的回答——你的
CommonPyLib包不在 PyPI 上,所以 Pip 不知道如何安装它。