PyCharm

PyCharm


系统解释器与 Virtualenv/Conda 虚拟环境

PyCharm 配置中 Settings -> Project: xxx -> Python Interpreter 可以添加系统全局安装的 Python 解释器(也就是 Python 版本),也可以添加 Virtualenv/Conda 虚拟环境:

  • 配置已安装的 Python 解释器(已安装的 Python 版本),会造成不同项目环境全局共享,所有项目共用相同依赖,可能导致依赖版本冲突问题。
  • 添加 Virtualenv/Conda 虚拟环境是创建一个独立的虚拟环境,与系统 Python 完全隔离,每个虚拟环境又独立依赖。

注意: 创建新 Python Interpreter 时,type 选择 Virtualenv 虚拟环境,对应的是用 Python 内置 venv 模块创建虚拟环境,并不是第三方 virtualenv 工具的虚拟环境

PyCharm 中创建一个新的 Virtualenv 虚拟环境并设为项目解释器后,该环境会​​立即生效​​于当前 PyCharm 项目:

  • 后续所有通过 PyCharm 执行的代码、终端操作、包安装都会使用该虚拟环境。
  • ​​PyCharm 的内置终端​​(Terminal 工具窗口)也会自动激活该环境,可以看到提示符前有个 (venv-name) 表示处于虚拟环境中。 如果没有 (venv-name),可能由于某种原因未激活虚拟环境,执行下面命令激活虚拟环境:source venv/bin/activate

指定源码根目录

PyCharm 默认会将项目的根目录标记为源码根目录(Sources Root) 如果项目中源码是在根目录的某个子目录中,比如 src 目录,需要手动将 src 标记为源码根目录: 方法1:Settings -> Project: xxx -> Project Structure -> 选择 src 目录 -> 上面 Mark as: 选择 Sources 方法2:在 src 目录上点右键 -> Mark Directory as -> Sources Root


.ignore 插件安装及配置

设置 -> Plugins 搜索 .ignore 插件安装。安装后重启 PyCharm 项目上点右键 -> New -> .ignore file -> .gitignore file(Git) 然后配置 .gitignore 文件需要忽略的语言项,选择 Python, JetBrains, VirtualEnv


ImportError: No module named pip

pycharm 中安装依赖包提示 ImportError: No module named pip

这个错误通常发生在尝试使用Python的pip时,PyCharm IDE 无法找到pip模块。这可能是因为pip未正确安装或不在Python的搜索路径中。 解决此问题的方法是确保pip已正确安装,并且可以在PyCharm中访问。 1、检查pip是否已正确安装:在命令行中输入pip --version。如果没有安装pip,请根据需要使用适合您操作系统的pip安装指南进行安装。 2、在PyCharm中配置Python解释器:在设置(Settings)> 项目(Project)> Python解释器(Python Interpreter)中,确保已正确选择Python解释器,并且pip已添加到解释器的“项目解释器”中。

如果本地没有安装 pip,可以直接在 pycharm Settings -> Project -> Python Interpreter -> Add 中选择 Virtualenv Environment,为此项目单独配置一个虚拟环境。


修改默认测试框架

安装 pytest 后,PyCharm 会自动检测到 pytest 并将 pytest 做为默认测试框架。 之后在所有 test_ 开头 或 _test 结尾的文件上点 run 或 debug 时都会走 pytest 测试框架,可能导致 if __name__ == '__main__': 方法无法正常运行。 可以修改 File -> Settings -> Tools -> Python Integrated Tools -> Testing -> Default test runner 设置,能看到 Default test runner 是 Autodetect(pytest),改为一个其他的测试框架比如 Unittests 即可。


Tools->Sync Python requirements 同步依赖到

同步虚拟环境的依赖到 requirements.txt 大致相当于 pip freeze > requirements.txt