pycharm项目解释器和系统解释器有什么区别?一文看懂
作者:lusklusklusk
系统解释器
电脑上全局安装的Python 3.13,路径C:\Program Files\Python\Python313\python.exe
项目解释器
PyCharm 为当前项目创建的独立虚拟环境 .venv,路径C:\Users\PycharmProjects\PythonProject1.venv\Scripts\python.exe
现象对比
系统解释器
C:\Program Files\Python\Python313\python.exe
import pandas
print(pandas._file_)
报错
ModuleNotFoundError: No module named ‘pandas’
项目解释器
C:\Users\User1\PycharmProjects\PythonProject1.venv\Scripts\python.exe
import pandas
print(pandas._file_)
结果
C:\Users\User1\PycharmProjects\PythonProject1.venv\Lib\site-packages\pandas_init_.py
原因:
这是因为执行 pip install pandas 命令的时候是在项目 .venv 环境里(.venv) PS C:\Users\User1\PycharmProjects\PythonProject1>执行的,所以包都装到了项目 .venv 里,系统环境没有。
解释器优先级
Run Configuration 里显式指定的解释器(优先级最高)
项目解释器(配置没显式指定时,跟随项目解释器)
Templates 设置值(只影响新建配置的初始值,不覆盖已有配置)
项目解释器设置
File→ Settings→ Project PythonProject→ Python Interpreter选择
C:\Users\User1\PycharmProjects\PythonProject1.venv\Scripts\python.exe
那么这个Project PythonProject1下的python文件默认用的解释器就是
C:\Users\User1\PycharmProjects\PythonProject1.venv\Scripts\python.exe
运行配置Templates设置
Run→ Edit Configurations→ Edit configuration templates→ Python→ C:\Program Files\Python\Python313\python.exe
Configuration Templates 设置的是“新建 Run Configuration 时的默认解释器”,每个非项目python文件运行时仍然需要 Run Configuration,即使没有完整项目,PyCharm 也会新建 Run Configuration作为临时项目承载。所以运行每个非项目python文件运行时,会新建 Run Configuration并使用这个Templates默认解释器
假设有3个python文件,python1、python2都是在PythonProject1目录里面,python3是从其他服务器拷贝过来的存放在不属于任何python项目目录的D:\123
- python1文件:如果给python1文件显示指定解释器为C:\Program Files\Python\Python313\python.exe,那么直接运行python1文件时使用的解释器就是C:\Program Files\Python\Python313\python.exe
- python2文件:直接运行python2文件时使用的解释器就是项目解释器
C:\Users\User1\PycharmProjects\PythonProject1.venv\Scripts\python.exe
- python3文件:直接运行python3文件,因为python3在 D:\123不属于任何项目,PyCharm 会用临时项目承载。运行时需要新建 Run Configuration,新建 Run Configuration 时,如果没手动改解释器,其解释器
来自Templates设置中的释器 C:\Program Files\Python\Python313\python.exe
新建python文件位置
PyCharm 新建文件默认放在“当前选中的目录”或“当前文件所在目录”,也就是光标所在的文件的目录。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
