使用PyCharm和venv进行Python项目环境配置避坑指南

 更新时间:2025年04月21日 10:44:06   作者:Anarkh_Lee  
在进行 Python 项目开发时,一个干净,隔离且配置正确的开发环境至关重要,本文结合之前安装 Vanna 库时遇到的问题,总结了使用 PyCharm 和 venv 进行 Python 项目环境设置的最佳实践和常见坑的解决方法,有需要的小伙伴可以参考下

在进行 Python 项目开发时,一个干净、隔离且配置正确的开发环境至关重要。尤其是在使用像 PyCharm 这样的集成开发环境 (IDE) 时,正确理解和配置虚拟环境 (Virtual Environment) 是避免许多常见问题的关键。本文结合之前安装 Vanna 库时遇到的问题,总结了使用 PyCharm 和 venv 进行 Python 项目环境设置的最佳实践和常见“坑”的解决方法。

核心概念:虚拟环境 (venv)

Python 的虚拟环境 (通常使用内置的 venv 模块创建) 允许您为每个项目创建一个独立的 Python 运行环境。这意味着:

  • 依赖隔离: 每个项目可以拥有自己特定版本的库,互不干扰。全局 Python 环境保持干净。
  • 版本控制: 可以轻松管理不同项目所需的特定库版本。
  • 部署一致性: 可以通过 requirements.txt 文件精确复制项目的依赖环境。

强烈建议为每一个新的 Python 项目创建一个独立的虚拟环境。

在 PyCharm 中创建项目与配置虚拟环境

1.新建项目: 在 PyCharm 中,选择 File -> New Project…。

2.配置环境 (关键步骤):

  • Location: 设置项目路径 (例如 D:\MyVannaProject)。
  • New environment using: 确保选择 Virtualenv。
  • Location: 接受默认的 venv 子目录 (例如 D:\MyVannaProject\venv)。
  • Base interpreter: 选择您系统安装的基础 Python 3.x 解释器。
  • Inherit global site-packages: 不勾选。
  • Make available to all projects: 不勾选。

3.创建: 点击 Create。PyCharm 会自动创建项目结构和 venv 虚拟环境。

4.验证配置:

  • 进入 File -> Settings -> Project: [Your Project Name] -> Python Interpreter。
  • 确认 “Python Interpreter” 指向的是项目 venv 目录下的 python.exe (例如 D:\MyVannaProject\venv\Scripts\python.exe)。
  • 包列表应只包含 pip, setuptools 等基础包。

使用 pip 安装依赖 (以 Vanna 为例)

打开 PyCharm 终端: 点击 IDE 底部的 Terminal 标签。

检查激活状态 (!!!): 必须看到终端提示符行首有 (venv) 标记。这表示虚拟环境已激活。如果未激活,请手动运行 .\venv\Scripts\activate 或重启终端。

更新基础工具 (推荐): 在激活的终端中运行:

python -m pip install --upgrade pip setuptools

安装库:

pip install vanna

验证安装位置:

pip show vanna

检查输出中的 Location: 是否指向 …\venv\Lib\site-packages。

常见问题与解决方案 (Troubleshooting)

我们在之前的过程中遇到了几个典型问题:

问题 1: ModuleNotFoundError: No module named ‘vanna’ 或 PyCharm 提示 Unresolved reference ‘vanna’

原因:

  • 运行脚本或 PyCharm 代码检查时使用的 Python 解释器不是安装了 Vanna 的那个虚拟环境。
  • 安装 Vanna 时,PyCharm 终端没有激活虚拟环境,导致 Vanna 被安装到了全局环境或其他地方。

解决方案:

  • 在 PyCharm 中,进入 File -> Settings -> Project: … -> Python Interpreter,确保选择的解释器是项目 venv 下的 python.exe。
  • 确保在 PyCharm 终端执行 pip install 命令之前,提示符已有 (venv) 标记。
  • 如果 Vanna 错误地安装到了全局环境 (可通过 pip show vanna 确认 Location),请在正确激活的虚拟环境终端中重新运行 pip install vanna。

问题 2: AttributeError: module ‘pkgutil’ has no attribute ‘ImpImporter’

原因: 这是较新的 Python 版本 (如 Python 3.12+) 与虚拟环境中可能存在的旧版本 setuptools (及其依赖 pkg_resources) 不兼容导致的。即使是新创建的 venv 也

可能包含不够新的 setuptools。

解决方案:

方法一 (常用): 在激活的 venv 终端中,强制更新 pip 和 setuptools:

python -m pip install --upgrade pip setuptools

- **<font style="color:rgb(51, 57, 64);">方法二 (更强制):</font>**<font style="color:rgb(51, 57, 64);"> </font><font style="color:rgb(51, 57, 64);">如果方法一无效,使用</font><font style="color:rgb(51, 57, 64);"> </font>**<font style="color:rgb(51, 57, 64);">ensurepip</font>**<font style="color:rgb(51, 57, 64);"> </font><font style="color:rgb(51, 57, 64);">来重置:</font>

python -m ensurepip --upgrade

- <font style="color:rgb(51, 57, 64);">通常在执行这些更新命令</font>**<font style="color:rgb(51, 57, 64);">之后</font>**<font style="color:rgb(51, 57, 64);">,再尝试</font><font style="color:rgb(51, 57, 64);"> </font>**<font style="color:rgb(51, 57, 64);">pip install vanna</font>**<font style="color:rgb(51, 57, 64);">。</font>

问题 3: failed to create process

原因:

  • Windows 权限不足,无法在虚拟环境目录创建进程。
  • 防病毒软件干扰。
  • 虚拟环境本身已损坏。

解决方案:

尝试管理员权限 (仅用于安装): 关闭 PyCharm/cmd,右键以管理员身份运行,激活 venv,然后执行 pip install。安装成功后,以普通用户身份运行 PyCharm 进行开发。

检查防病毒软件: 暂时禁用,如果安装成功,则添加 Python、项目和 venv 目录到排除列表。

终极方案 (如果前两者无效):

  • 删除项目下的 venv 文件夹。
  • 打开管理员命令提示符,cd 到项目根目录。
  • 使用系统 Python 重新创建 venv: C:\Path\To\System\Python\python.exe -m venv venv (替换为你的 Python 路径)。
  • 激活 venv: venv\Scripts\activate。
  • 立即更新: python -m pip install --upgrade pip setuptools。
  • 安装依赖: pip install vanna。
  • 回到 PyCharm (普通用户),重新配置项目解释器指向这个新的 venv。

问题 4: Error: Python packaging tool ‘setuptools’ not found

原因: 虚拟环境中缺少基础的 setuptools 包。

解决方案: 在激活的 venv 终端中安装它:

python -m pip install --upgrade setuptools

使用 requirements.txt 安装依赖 (CMD)

如果您需要从 requirements.txt 文件批量安装依赖:

打开 CMD 并 cd 到项目根目录 (例如 e:\project\xxx\xxxx)。

激活虚拟环境:

venv\Scripts\activate

确保看到 (venv) 提示符。

执行安装:

如果 requirements.txt 在当前目录 (项目根目录):

pip install -r requirements.txt

- <font style="color:rgb(51, 57, 64);">如果</font><font style="color:rgb(51, 57, 64);"> </font>**<font style="color:rgb(51, 57, 64);">requirements.txt</font>**<font style="color:rgb(51, 57, 64);"> </font><font style="color:rgb(51, 57, 64);">在其他位置 (例如</font><font style="color:rgb(51, 57, 64);"> </font>**<font style="color:rgb(51, 57, 64);">config</font>**<font style="color:rgb(51, 57, 64);"> </font><font style="color:rgb(51, 57, 64);">子目录):</font>

pip install -r config\requirements.txt

或者使用绝对路径。

实战的步骤

不知道为什么,我在PyCharm的终端中执行pip install vanna永远都是安装到全局中了。使用cmd操作就可以,所以本次安装vanna都是通过cmd直接安装的。

1.删除旧环境: 使用文件资源管理器, 完全删除 D:\myVannaProject\venv 文件夹。

2.在外部管理员终端创建新环境:

# 确保您在 D:\myVannaProject 目录下,或者使用完整路径
# 使用您系统 Python 3 的 python.exe 来创建
C:\Users\anarkh\AppData\Local\Programs\Python\Python313\python.exe -m venv D:\myVannaProject\venv

(请将 C:\Users\anarkh\AppData\Local\Programs\Python\Python313\python.exe 替换为您 Python 3 的实际安装路径)

3.激活新环境(仍在管理员终端):

D:\myVannaProject\venv\Scripts\activate

4.立即更新pip和setuptools:

python -m pip install --upgrade pip setuptools

5.安装Vanna:

pip install vanna

安装成功:

总结

Python 项目的环境配置,特别是虚拟环境的正确使用和 PyCharm 的相应设置,是避免许多后续问题的基础。遇到问题时,首先检查:

  • PyCharm 项目解释器是否指向正确的 venv?
  • PyCharm 终端是否已激活 (venv)?
  • pip 和 setuptools 是否为最新兼容版本?
  • 是否存在权限或防病毒软件干扰?

遵循最佳实践,耐心排查,就能搭建一个稳定高效的开发环境。

到此这篇关于使用PyCharm和venv进行Python项目环境配置避坑指南的文章就介绍到这了,更多相关PyCharm venv配置Python环境内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python用opencv完成图像分割并进行目标物的提取

    python用opencv完成图像分割并进行目标物的提取

    这篇文章主要介绍了python用opencv完成图像分割并进行目标物的提取,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • 使用PM2+nginx部署python项目的方法示例

    使用PM2+nginx部署python项目的方法示例

    这篇文章主要介绍了使用PM2+nginx部署python项目的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • 如何高效使用Python字典的方法详解

    如何高效使用Python字典的方法详解

    Dictionary 是 Python 的内置数据类型之一,它定义了键和值之间一对一的关系。下面这篇文章主要给大家介绍了关于如何高效使用Python字典的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • python中字符串数组逆序排列方法总结

    python中字符串数组逆序排列方法总结

    在本篇文章里小编给大家整理了关于python中字符串数组如何逆序排列的相关知识点,需要的朋友们学习下。
    2019-06-06
  • python 算法题——快乐数的多种解法

    python 算法题——快乐数的多种解法

    看书,看视频都可以帮助你学习代码,但都只是辅助作用,学好 Python,最重要的还是 多敲代码,多刷题。本文讲述算法题快乐数的多种解法,帮你打开思路
    2021-05-05
  • 将python文件打包成EXE应用程序的方法

    将python文件打包成EXE应用程序的方法

    相信大家都想把自己完成的项目打包成EXE应用文件,然后就可以放在桌面随时都能运行了,下面来分享利用pytinstaller这个第三方库来打包程序,感兴趣的朋友跟随小编一起看看吧
    2019-05-05
  • PyQt5 关于Qt Designer的初步应用和打包过程详解

    PyQt5 关于Qt Designer的初步应用和打包过程详解

    Qt Designer中的操作方式十分灵活,其通过拖拽的方式放置控件可以随时查看控件效果。这篇文章主要介绍了PyQt5 关于Qt Designer的初步应用和打包,需要的朋友可以参考下
    2021-09-09
  • python 截取XML中bndbox的坐标中的图像,另存为jpg的实例

    python 截取XML中bndbox的坐标中的图像,另存为jpg的实例

    这篇文章主要介绍了python 截取XML中bndbox的坐标中的图像,另存为jpg的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • 如何解决mmcv无法安装或安装之后报错问题

    如何解决mmcv无法安装或安装之后报错问题

    这篇文章主要介绍了如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • 基于Python实现的百度贴吧网络爬虫实例

    基于Python实现的百度贴吧网络爬虫实例

    这篇文章主要介绍了基于Python实现的百度贴吧网络爬虫,实例分析了Python实现网络爬虫的相关技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04

最新评论