“python setup.py install”命令不会在install_requires列表中安装libs

时间:2017-04-06 19:30:29

标签: python ubuntu debian deb python-packaging

我的目标是从python包创建.deb包并在最后分发我的python脚本。关于这个过程我有两个问题

1-我可以使用here中的以下步骤创建一个python包。我的setup.py就像那样

from distutils.core import setup

setup(
# Application name:
name="MyApplication",

# Version number (initial):
version="0.1.0",

# Application author details:
author="name surname",
author_email="name@addr.ess",

# Packages
packages=["app"],

# Include additional files into the package
include_package_data=True,

# Details
url="http://pypi.python.org/pypi/MyApplication_v010/",

#
# license="LICENSE.txt",
description="Useful towel-related stuff.",

# long_description=open("README.txt").read(),

# Dependent packages (distributions)
install_requires=[
    "simplejson",
    "numpy",
    "scikit-learn",
    "scipy",
 ],
)

install_requires部分的情况开始有所不同。我知道这些库可以通过pip安装,所以在这种情况下我创建python包后它创建了包的tar.gz。所以

python setup.py install 命令不会在install_requires列表中安装lib,但如果我用 pip install name_of_the_package.tar.gz 它在列表中安装libs。那么为什么 python setup.py install 命令不安装libs?

2-然后我使用stdeb从我的python包创建.deb包。当我尝试将.deb软件包安装到我的系统时,我希望在install_requires列表中安装libs但是它们没有安装?

我觉得我正在跳过一部分,但我不知道我在跳过什么?

1 个答案:

答案 0 :(得分:1)

install_requires函数的setup()关键字参数为setuptools feature,在普通distutils中不受支持。

如果您使用

setup导入setuptools功能
from setuptools import setup

它可能会起作用。

DigitalOcean指南似乎不正确且过时。我建议您使用https://packaging.python.org/上的官方包装指南。