在python 3.8.1中安装所有依赖项的my setup.py有什么问题
我有下面的setup.py脚本。当我执行命令在python 3.8.1中安装所有依赖项的my setup.py有什么问题,python,python-3.x,Python,Python 3.x,我有下面的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, Comm
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 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
和由@Iguananaut建议的docker build执行的之间的差异,前提是您有setup.py,并且它有安装所需的python软件包。您可以在windows中使用以下命令安装python软件包
pip install -e .
如上所述,(dot)是必需的。python setup.py install
命令的输出是什么?它运行时没有错误,但没有安装软件包。pip-V
的输出是什么?它是最新的一个,即20I不确定“手动安装所有软件包”是什么意思。如果在setup.py
所在的目录中运行pip install.
,它还将处理install\u所需的所有依赖项。这是目前安装Python软件包的“正确”方法,因为pip表面上独立于setuptools及其不同的工作方式。我只是在windows 10中使用,而不是在停靠的容器中使用。甚至我也不希望docker用于简单的python项目。当然,我建议docker只作为交叉检查工具。检查问题是在setup.py中还是在外部。它在外面。说清楚了,这在任何平台上都是真实的。我在评论中没有提到这一点,但我也建议您不要只运行pip
,而是运行python-m pip
,您可以将“python”替换为要为其安装包的特定python解释器的路径/文件名。许多初学者犯的一个错误是,他们的系统上有多个Python解释器,但是主pip
可执行文件与他们试图使用的Python不相关,因此他们为错误的Python安装了软件包python-mpip
确保您使用正确的pip来创建正确的python。谢谢您的建议。
pip install -e .