如何配置PyCharm优先从项目目录导入自定义包而非Conda环境?
解决PyCharm优先导入项目目录自定义包的问题
完全不用急着卸载Conda环境里的包,PyCharm本身就有现成的配置可以调整模块检索优先级,给你整理了几个实用方法:
方法一:调整解释器的路径优先级
这是最直接的全局配置方式:
- 打开PyCharm,点击顶部菜单栏的
File->Settings(Windows/Linux)或者PyCharm->Settings(Mac) - 在左侧菜单展开
Project: [你的项目名称],选择Python Interpreter - 点右上角的齿轮图标,选
Show All... - 选中当前使用的Conda环境,点击下方的
Show paths for the selected interpreter按钮 - 在弹出的路径列表里,把你的项目根目录(或者自定义包所在的子目录)拖动到列表最顶部,这样PyCharm会优先检索这个路径下的模块,再去看Conda环境的site-packages
- 点
Apply和OK保存,重启PyCharm或者重新加载项目就生效了
方法二:标记Source Root(更简单)
如果只是想让项目里的某个包被优先检索,直接标记目录就行:
- 在PyCharm的项目视图里找到你的自定义包文件夹
- 右键点击它,选择
Mark Directory as->Source Root - 标记后这个目录会变成蓝色,PyCharm会自动把它放到模块检索路径的最前面,优先级高于Conda环境的包
方法三:代码层面临时调整(适合快速测试)
要是你只是临时想测试项目里的包,不想改全局设置,可以在代码开头加一段路径调整:
import sys from pathlib import Path # 根据你的包位置调整路径,这里假设包在项目根目录下 project_root = Path(__file__).parent.parent # 把项目根目录插入到检索路径的最前面 sys.path.insert(0, str(project_root)) # 现在导入自定义包就会优先用项目里的版本 import your_custom_package
当然,如果之后完全不需要Conda环境里的这个包了,直接卸载也是个干净的选择:打开PyCharm的Terminal,激活环境后运行 pip uninstall your_custom_package 就行。
我个人更推荐前两种方法,既能保留环境里的包用于其他场景测试,又能保证开发时优先用项目里的最新代码。
内容的提问来源于stack exchange,提问作者Ben2209
相关产品推荐
相关产品推荐

