You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法使用Pipenv安装依赖或激活虚拟环境的问题求助

问题描述

安装Pipenv后无法创建Pipfile,使用已有Pipfile安装依赖时触发解析失败错误,执行pipenv install requests报错,pipenv install --skip-lock无输出,pipenv lock --pre --clear同样报错。

报错信息

PS D:\Projetos\Python\shipay\backend-challenge\bot> pipenv install requests
Installing requests...
Pipfile.lock (d5437b) out of date, updating to (c4c73e)...
Locking [packages] dependencies...
[   =] Resolving dependencies...
ERROR:pip.subprocessor:[present-rich] python setup.py egg_info exited with 1
[ResolutionFailure]:   File "C:/Users/leand/AppData/Roaming/Python/Python311/site-packages/pipenv/resolver.py", line 812, in _main     
[ResolutionFailure]:       pre, clear, verbose, system, write, requirements_dir, packages, category
[ResolutionFailure]:   File "C:/Users/leand/AppData/Roaming/Python/Python311/site-packages/pipenv/resolver.py", line 767, in resolve_packages
[ResolutionFailure]:       requirements_dir=requirements_dir,
[ResolutionFailure]:   File "C:/Users/leand/AppData/Roaming/Python/Python311/site-packages/pipenv/resolver.py", line 747, in resolve   
[ResolutionFailure]:       req_dir=requirements_dir,
[ResolutionFailure]:   File "C:/Users/leand/AppData/Roaming/Python/Python311/site-packages/pipenv\utils\resolver.py", line 1109, in resolve_deps
[ResolutionFailure]:       req_dir=req_dir,
[ResolutionFailure]:   File "C:/Users/leand/AppData/Roaming/Python/Python311/site-packages/pipenv\utils\resolver.py", line 899, in actually_resolve_deps
[ResolutionFailure]:       resolver.resolve()
[ResolutionFailure]:   File "C:/Users/leand/AppData/Roaming/Python/Python311/site-packages/pipenv\utils\resolver.py", line 687, in resolve
[ResolutionFailure]:       raise ResolutionFailure(message=str(e))
[pipenv.exceptions.ResolutionFailure]: Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
  Hint: try $ pipenv lock --pre if it is a pre-release dependency.
ERROR: metadata generation failed

现有Pipfile内容

[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]

[packages]
apscheduler = "*"
flask = "*"
psycopg2 = "*"
flask-sqlalchemy = "*"
xlsxwriter = "*"
logging = "*"
requests = "*"

[requires]
python_version = "3.7"
解决方案

1. 修复Python版本不匹配

从报错路径可见当前使用Python3.11,但Pipfile指定Python3.7,版本不兼容是核心问题:

  • 安装Python3.7并添加到系统PATH
  • 重新指定Pipenv的Python版本:
    pipenv --python 3.7
    

2. 清理无效依赖

logging是Python标准库,无需在Pipfile中声明,直接删除该行。

3. 替换psycopg2为psycopg2-binary

psycopg2需要编译环境,Windows环境下用预编译的psycopg2-binary更稳妥,修改Pipfile对应行:

psycopg2-binary = "*"

4. 指定兼容Python3.7的依赖版本

用*拉取最新版本会导致大量包不再支持Python3.7,修改为兼容版本范围,示例Pipfile:

[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]

[packages]
apscheduler = "<3.10"
flask = "<2.3"
psycopg2-binary = "<2.9"
flask-sqlalchemy = "<3.1"
xlsxwriter = "*"
requests = "<2.32"

[requires]
python_version = "3.7"

5. 彻底清理缓存后重新初始化

  • 删除现有Pipfile.lock和.virtualenv目录(若存在)
  • 执行清理命令:
    pipenv --rm
    pip cache purge
    
  • 重新安装依赖:
    pipenv install
    

6. 临时替代方案:切换到pip-tools

若Pipenv仍无法正常工作,可暂时用pip-tools替代:

  • 安装pip-tools:
    pip install pip-tools
    
  • 将Pipfile内容转为requirements.in,生成锁定文件并同步依赖:
    pip-compile requirements.in
    pip-sync
    

内容的提问来源于stack exchange,提问作者Lauz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 16:40:39