Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python 3.8.1中安装所有依赖项的my setup.py有什么问题_Python_Python 3.x - Fatal编程技术网

在python 3.8.1中安装所有依赖项的my 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脚本。当我执行命令
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

您的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 .