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

pipenv install执行后依赖包未出现在pip列表且无法导入的问题求助

pipenv install执行后依赖包未出现在pip列表且无法导入的问题求助

最近碰到了Pipenv一个特别奇怪的行为,完全搞不懂为啥会这样。

先说说我的环境情况:

  • 在Rosetta下运行Terminal和iTerm2
  • 通过Pyenv(版本2.4.8)安装了Python 3.11.9,并且设置为全局版本(执行了pyenv global 3.9.11——这里注意我可能手滑写错了版本号,实际全局是3.11.9)
  • 另外还从Python官网直接下载安装了另一个独立的Python 3.11.9版本

我搭了个测试项目,结构如下:

/dependencyExp_01/
  |--app.py
  |--Pipfile

其中Pipfile的内容是:

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

[packages]
packaging = "*"
typing_extensions = "*"

[dev-packages]

app.py的代码很简单:

from packaging.version import Version
print("something")

我用$ pipenv install命令安装了依赖包。

重要提示:下面所有命令都是在虚拟环境中执行的

然后我运行$ pip list查看已安装包,结果发现packaging居然不在列表里:

Package    Version
---------- -------
pip        24.3.1
setuptools 75.6.0
wheel      0.45.1

但当我运行$ pipenv graph查看依赖树时,packaging明明在里面:

importlib-metadata==8.0.0
  - zipp [required: >=0.5, installed: 3.19.2]
jaraco.collections==5.1.0
  - jaraco.text [required: Any, installed: 3.12.1]
    - autocommand [required: Any, installed: 2.2.2]
    - inflect [required: Any, installed: 7.3.1]
      - more-itertools [required: >=8.5.0, installed: 10.3.0]
      - typeguard [required: >=4.0.1, installed: 4.3.0]
        - typing-extensions [required: >=4.10.0, installed: 4.12.2]
    - jaraco.context [required: >=4.1, installed: 5.3.0]
      - backports.tarfile [required: Any, installed: 1.2.0]
    - jaraco.functools [required: Any, installed: 4.0.1]
      - more-itertools [required: Any, installed: 10.3.0]
    - more-itertools [required: Any, installed: 10.3.0]
packaging==24.2
tomli==2.0.1

更离谱的是,我运行app.py直接报错找不到模块:

(dependencyExp_01) jingwang@jing-MacBook-Pro dependencyExp_01 % python app.py
Traceback (most recent call last):
  File "/Users/jingwang/Documents/PythonProject/dependencyExp_01/app.py", line 1, in <module>
    from packaging.version import Version
ModuleNotFoundError: No module named 'packaging'

后来我手动用$ pip install packaging安装了这个包,再运行$ pip list,packaging就正常出现在列表里了:

Package    Version
---------- -------
packaging  24.2
pip        24.3.1
setuptools 75.6.0
wheel      0.45.1

这时候再看$ pipenv graph,依赖树和之前完全没变化:

importlib-metadata==8.0.0
  - zipp [required: >=0.5, installed: 3.19.2]
jaraco.collections==5.1.0
  - jaraco.text [required: Any, installed: 3.12.1]
    - autocommand [required: Any, installed: 2.2.2]
    - inflect [required: Any, installed: 7.3.1]
      - more-itertools [required: >=8.5.0, installed: 10.3.0]
      - typeguard [required: >=4.0.1, installed: 4.3.0]
        - typing-extensions [required: >=4.10.0, installed: 4.12.2]
    - jaraco.context [required: >=4.1, installed: 5.3.0]
      - backports.tarfile [required: Any, installed: 1.2.0]
    - jaraco.functools [required: Any, installed: 4.0.1]
      - more-itertools [required: Any, installed: 10.3.0]
    - more-itertools [required: Any, installed: 10.3.0]
packaging==24.2
tomli==2.0.1

现在再运行app.py就正常了,能顺利打印出内容:

(dependencyExp_01) jingwang@jing-MacBook-Pro dependencyExp_01 % python app.py
something
(dependencyExp_01) jingwang@jing-MacBook-Pro dependencyExp_01 

目前我只能用手动$ pip install <包名>的方式来补装这些“失踪”的包,但实在太麻烦了,要是pipenv install能正常处理就好了。有没有大佬能帮忙解释下这种情况的原因?谢谢啦!

备注:内容来源于stack exchange,提问作者infinity_coding7

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 15:27:59