使用旧/过时版本的安装pip设置.py?

2024-06-16 13:29:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我在做一个项目,最近不得不更新设置.py要添加额外的\u require字段。你知道吗

项目的上一版本设置.py是1.1.3-不完整。我把它提高到了1.1.4——不完整。你知道吗

当我试图用virtualenv中的pip install -e更新包时,我会有奇怪的行为。就好像皮普在某种程度上缓存我的设置.py文件,但仅在编辑模式下。你知道吗

以下是我的一些相关信息设置.py文件:

setup(
    name='phpIPAM-Scraper',
    version='1.1.4-incomplete',
    ...
    install_requires=[
        'configparser ; python_version < "3.2"',
        'requests',
        'beautifulsoup4',
        'tabulate',
        'click',
        'click-shell'],
    extras_require={
        'test': [
            'pytest',
            'pytest-docker',
            'pytest-docker-pexpect',
        ]
    },
    ...
)

而且很老设置.py是一样的,只是它没有extras_require内容。你知道吗

当我从project dir运行pip install -e .[test]时,我得到了一个奇怪的输出:

$ pip install -e .[test]
Obtaining file:[project-dir]
  phpipam-scraper 1.1.3-incomplete does not provide the extra 'test'
Requirement already satisfied: requests ...
Requirement already satisfied: beautifulsoup4 ...
Requirement already satisfied: tabulate ...
Requirement already satisfied: click ...
Requirement already satisfied: click-shell ...
Requirement already satisfied: certifi>=2017.4.17 ...
Requirement already satisfied: chardet<3.1.0,>=3.0.2 ...
Requirement already satisfied: urllib3<1.22,>=1.21.1 ...
Requirement already satisfied: idna<2.6,>=2.5 ...
Installing collected packages: phpIPAM-Scraper
  Found existing installation: phpipam-scraper 1.1.3-incomplete
    Not uninstalling phpipam-scraper at [project-dir], outside environment [virtualenv]
  Running setup.py develop for phpIPAM-Scraper
Successfully installed phpIPAM-Scraper

但是,当我在没有-e标志的情况下运行同一个命令时,它安装得很好:

$ pip install .[test]
Processing [project-dir]
Requirement already satisfied: requests ...
Requirement already satisfied: beautifulsoup4 ...
Requirement already satisfied: tabulate ...
Requirement already satisfied: click ...
Requirement already satisfied: click-shell ...
Requirement already satisfied: pytest ...
Requirement already satisfied: pytest-docker ...
Requirement already satisfied: pytest-docker-pexpect ...
Requirement already satisfied: chardet<3.1.0,>=3.0.2 ...
Requirement already satisfied: idna<2.6,>=2.5 ...
Requirement already satisfied: certifi>=2017.4.17 ...
Requirement already satisfied: urllib3<1.22,>=1.21.1 ...
Requirement already satisfied: setuptools ...
Requirement already satisfied: py>=1.4.33 ...
Requirement already satisfied: attrs<17,>=16 ...
Requirement already satisfied: pexpect ...
Requirement already satisfied: six ...
Requirement already satisfied: ptyprocess>=0.5 ...
Building wheels for collected packages: phpIPAM-Scraper
  Running setup.py bdist_wheel for phpIPAM-Scraper ... done
  Stored in directory: [local .cache]
Successfully built phpIPAM-Scraper
Installing collected packages: phpIPAM-Scraper
  Found existing installation: phpipam-scraper 1.1.3-incomplete
    Not uninstalling phpipam-scraper at [project-dir], outside environment [virtualenv-dir]
Successfully installed phpIPAM-Scraper-1.1.4-incomplete

这没有任何意义。就像pip的编辑模式是在某处使用一个缓存文件,但是我不知道在哪里或者如何使用,我的googlefu也没有找到任何有用的信息。你知道吗

你们这些好人以前遇到过这种事吗?你知道吗

编辑:我已经删除并重新创建了virtualenv,同样的结果。我还将版本设置为1.1.4,行为没有变化


Tags: installpippytestprojectpytestdirrequirement