PyCharm解决虚拟环境pip无法使用的问题及分析

 更新时间:2026年01月16日 09:30:47   作者:UnderTurrets  
文章主要介绍了在PyCharm中使用虚拟环境时遇到的一些bug及其解决方法,包括新建虚拟环境时pip命令报错和更换路径后pip命令无法使用的问题,此外,还介绍了如何在虚拟环境中安装软件包并与全局软件包进行隔离,以及如何进入和退出虚拟环境

1.新建虚拟环境的bug

描述

  • 在PyCharm内新建或者打开一个项目时,我们需要选择一个python解释器,如果我们选择新建一个虚拟环境,如下图所示:

  • 进入项目后,我们打开终端,可以看到自动进入了虚拟环境:
Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。

安装最新的 PowerShell,了解新功能和改进! https://aka.ms/PSWindows

(venv) PS D:\Desktop\pycharm-projects\ExForTeach>
  • 但是,如果我们尝试使用pip命令,会报错:

(venv) PS D:\Desktop\pycharm-projects\ExForTeach> pip list
Traceback (most recent call last):
  File "C:\Users\Xu Han\AppData\Local\Programs\Python\Python39\lib\runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Users\Xu Han\AppData\Local\Programs\Python\Python39\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "D:\Desktop\pycharm-projects\ExForTeach\venv\Scripts\pip.exe\__main__.py", line 4, in <module>
  File "D:\Desktop\pycharm-projects\ExForTeach\venv\lib\site-packages\pip\_internal\cli\main.py", line 9, in <module>
    from pip._internal.cli.autocompletion import autocomplete
  File "D:\Desktop\pycharm-projects\ExForTeach\venv\lib\site-packages\pip\_internal\cli\autocompletion.py", line 10, in <module>
    from pip._internal.cli.main_parser import create_main_parser
  File "D:\Desktop\pycharm-projects\ExForTeach\venv\lib\site-packages\pip\_internal\cli\main_parser.py", line 8, in <module>
    from pip._internal.cli import cmdoptions
  File "D:\Desktop\pycharm-projects\ExForTeach\venv\lib\site-packages\pip\_internal\cli\cmdoptions.py", line 29, in <module>
    from pip._internal.models.target_python import TargetPython
ModuleNotFoundError: No module named 'pip._internal.models.target_python'

解决方法

  • 这时,我们只需要删除图中的文件夹

  • 然后再尝试使用pip命令:
(venv) PS D:\Desktop\pycharm-projects\ExForTeach> pip list
Package            Version
------------------ ---------
bleach             6.0.0
certifi            2022.12.7
chardet            5.1.0
charset-normalizer 2.1.1
contourpy          1.0.7
cycler             0.11.0
docutils           0.19
fonttools          4.38.0
idna               3.4
importlib-metadata 6.5.0
importlib-resources 5.12.0
jaraco.classes     3.2.3
keyring            23.13.1
kiwisolver         1.4.4
markdown-it-py     2.2.0
matplotlib         3.7.0
mdurl              0.1.2
more-itertools     9.1.0
numpy              1.24.1
  • 可以看到pip已经可以正常使用了!
  • 由于我继承了全局站点,因此这里我的软件包很多

2.更换路径的bug

  • 前几天,我将项目的路径从D:\Desktop\pycharm-projects\venv1改成C:\Users\Xu Han\Desktop\pycharm-projects\venv1,然后尝试在虚拟环境中pip list,报错如下:

Fatal error in launcher: Unable to create process using '"D:\Desktop\pycharm-projects\venv1\venv\Scripts\python.exe"  "C:\Users\Xu Han\Desktop\pycharm-projects\venv1\venv\Scripts\pip.exe" list': ???????????​

解决方法

  • 在pycharm中,右击venv\Scripts这个文件夹,查找替换成现在的路径即可,如下:

  • 然后重新安装pip,由于这里是虚拟环境,所以python -m ensurepip是不管用的
(venv) PS C:\Users\Xu Han\Desktop\pycharm-projects\venv1> python -m ensurepip
Looking in links: c:\Users\XUHAN~1\AppData\Local\Temp\tmpr6ouww8y
Requirement already satisfied: setuptools in c:\users\xu han\desktop\pycharm-projects\venv1\venv\lib\site-packages (60.2.0)
Requirement already satisfied: pip in c:\users\xu han\appdata\local\programs\python\python39\lib\site-packages (23.1)
  • 需要先尝试卸载:
(venv) PS C:\Users\Xu Han\Desktop\pycharm-projects\venv1> python -m pip uninstall pip

如果你遇到了第一个bug,已经删除了venv\Lib\site-packages\pipvenv\Lib\site-packages\pip-23.3.1.dist-info,就不用卸载了

  • 然后尝试升级python.exe -m pip install --upgrade,升级的途中会自动安装:
(venv) PS C:\Users\Xu Han\Desktop\pycharm-projects\venv1>  python.exe -m pip install --upgrade pip
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Requirement already satisfied: pip in c:\users\xu han\appdata\local\programs\python\python39\lib\site-packages (23.1)
Collecting pip
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/47/6a/453160888fab7c6a432a6e25f8afe6256d0d9f2cbd25971021da6491d899/pip-23.3.1-py3-none-any.whl (2.1 MB)
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 23.1
    Not uninstalling pip at c:\users\xu han\appdata\local\programs\python\python39\lib\site-packages, outside environment C:\Users\Xu Han\Desktop\pycharm-projects\venv1\venv
    Can't uninstall 'pip'. No files were found to uninstall.
Successfully installed pip-23.3.1

[notice] A new release of pip is available: 23.1 -> 23.3.1
[notice] To update, run: python.exe -m pip install --upgrade pip

3.虚拟环境使用

3.1 特性

  • 在虚拟环境中安装软件包完全不影响全局软件包
  • 只要选择继承全局站点,虚拟环境就可以自由地使用全局软件包
  • 如图,我在虚拟环境中安装了scipy,但是在全局中并没有这个软件包:
scipy      1.10.1
setuptools 60.2.0
six        1.16.0
setuptools 67.7.1
six        1.16.0
torch      1.13.1+cu116

3.2 进入与退出

进入

PS C:\Users\Xu Han\Desktop\pycharm-projects\venv1> ./venv/Scripts/activate

退出

(venv) PS C:\Users\Xu Han\Desktop\pycharm-projects\venv1> ./venv/Scripts/deactivate

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python实现网上购物系统

    python实现网上购物系统

    这篇文章主要为大家详细介绍了python实现网上购物系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • python中的逆序遍历实例

    python中的逆序遍历实例

    今天小编就为大家分享一篇python中的逆序遍历实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python利用redis-py实现哈希数据类型的常用指令操作

    Python利用redis-py实现哈希数据类型的常用指令操作

    这篇文章我们继续学习 “redis-py” 模块的一些关于 “哈希数据类型” 的相关指令用方法,比如利用 pyton 实现操作 “哈希表” 的数据、操作 “redis” 的事务等等
    2022-09-09
  • Python-torch 之torch.clamp() 函数解析

    Python-torch 之torch.clamp() 函数解析

    torch.clamp()函数用于对输入张量进行截断操作,将张量中的每个元素限制在指定的范围内,这篇文章主要介绍了Python torch之torch.clamp()函数,需要的朋友可以参考下
    2023-05-05
  • Python实现将doc转化pdf格式文档的方法

    Python实现将doc转化pdf格式文档的方法

    这篇文章主要介绍了Python实现将doc转化pdf格式文档的方法,结合实例形式分析了Python实现doc格式文件读取及转换pdf格式文件的操作技巧,以及php调用py文件的具体实现方法,需要的朋友可以参考下
    2018-01-01
  • Python双向链表插入节点方式

    Python双向链表插入节点方式

    这篇文章主要介绍了Python双向链表插入节点方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 使用python实现PDF本地化压缩

    使用python实现PDF本地化压缩

    这篇文章主要为大家详细介绍了如何使用python实现PDF本地化压缩功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-08-08
  • Python利用operator模块实现对象的多级排序详解

    Python利用operator模块实现对象的多级排序详解

    python中的operator模块提供了一系列的函数操作。下面这篇文章主要给大家介绍了在Python中利用operator模块实现对象的多级排序的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-05-05
  • Python Pandas中数据类型查看与转换方法

    Python Pandas中数据类型查看与转换方法

    Pandas提供了丰富的数据类型系统以及灵活的类型转换方法,下面小编就来详细介绍一下如何查看Pandas数据结构中的数据类型和进行有效的类型转换吧
    2025-04-04
  • Python通过字典映射函数实现switch

    Python通过字典映射函数实现switch

    这篇文章主要介绍了Python通过字典映射函数实现switch,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11

最新评论