首页 > 解决方案 > 我的 setup.py 在 python 3.8.1 中安装所有依赖项有什么问题

问题描述

我有以下 setup.py 脚本。当我执行命令setup.py install时,我没有看到我的系统中安装了 python 包。对于 java,我们使用 maven 或 gradle,以便它可以自动下载并安装在系统中。我想要 setup.py 中的确切功能。我看到coloramaconfigparser没有安装,我使用 pip 命令手动安装了 setuptools 和 cx-Freeze 。下面是我的setup.py脚本内容。

from setuptools import setup, find_packages, Command

setup(
    name="Runner",  # program name
    version="0.0.1",
    description='A utility to build an exe',
    author="Debadatta Mishra",
    author_email="deba.java@gmail.com",
    python_requires='>=3.6',
    install_requires=['configparser==4.0.2', 'colorama==0.4.3', 'setuptools==45.2.0', 'cx-Freeze==6.1']
)

如果我执行pip list,我看不到 colorama、configparser 等。请帮助我,我是 python 编程的新手。

要运行设置脚本,我python setup.py install在命令提示符下使用命令。

标签: pythonpython-3.x

解决方案


您的setup.py没有任何问题。你的环境一定有问题,因为当你的脚本在干净的 docker 环境中运行时是有效的。

使用这样的 Dockerfile 创建干净的环境

FROM python:3.8.1-buster
RUN mkdir /debmis
ADD setup.py /debmis
WORKDIR /debmis
RUN python setup.py install
CMD /usr/bin/env pip list

构建它(在当前目录中有你的 setup.py):

docker build -t python3 .

并运行

docker run python3

Package      Version
------------ -------
colorama     0.4.3  
configparser 4.0.2  
cx-Freeze    6.1    
pip          20.0.2 
Runner       0.0.1  
setuptools   45.1.0 
wheel        0.34.2

我建议比较python setup.py install在您的环境中执行和由docker build.


推荐阅读