python - 我的 setup.py 在 python 3.8.1 中安装所有依赖项有什么问题
问题描述
我有以下 setup.py 脚本。当我执行命令setup.py install
时,我没有看到我的系统中安装了 python 包。对于 java,我们使用 maven 或 gradle,以便它可以自动下载并安装在系统中。我想要 setup.py 中的确切功能。我看到colorama,configparser没有安装,我使用 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
在命令提示符下使用命令。
解决方案
您的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
.
推荐阅读
- node.js - 使用 Nodemailer 在 React 和 Express 中发出发布请求时出现问题
- python - 石头剪刀布游戏。定义术语的麻烦
- android - onDraw 和无效方法
- c++ - PrintStub() 函数的输出问题
- c# - 如何对要用于 AspNetUserClaims 的声明进行分组?
- java - java.sql.SQLException:列索引超出范围,2 > 1 即使我计算了列
- microservices - 我需要构建一个 Vert.x 虚拟主机服务器,将流量引导到其他 Vert.x 应用程序。这种应用间的通信是如何实现的呢?
- c# - MailKit SmtpClient 错误:在未连接的套接字上不允许该操作
- database - 为什么我的视图没有显示所有图片?
- html - 在悬停时向网格图像添加叠加层