如何导入安装在非默认目录的Python库?能否在Jupyter notebook中实现?
非默认路径安装conda包的导入方法
Python导入第三方库时会默认遍历sys.path列表中的所有路径查找对应模块,你只需要将自定义安装路径加入该列表即可实现指定路径导包,无需修改全局配置。
注意:如果是conda创建的自定义路径环境,你需要定位到该环境下的
site-packages目录再添加,示例路径格式为C:\mydirectory\你的环境名\Lib\site-packages,直接填根目录会无法识别包。
单次临时生效方案(适配Jupyter Notebook场景)
该方案不需要修改系统配置,直接在代码开头添加两行配置即可,完全可以在Jupyter Notebook中运行,和你预期的import numpy from c:\mydirectory效果完全一致:
import sys # 将自定义路径插入到sys.path的最前面,保证优先从该路径查找包 sys.path.insert(0, r"C:\mydirectory\你的环境名\Lib\site-packages") # 之后正常导入对应包即可 import numpy
如果不想修改全局sys.path影响其他模块导入逻辑,也可以用importlib直接从指定路径加载单个包:
import importlib.util # 直接指定对应包的__init__.py文件路径 spec = importlib.util.spec_from_file_location("numpy", r"C:\mydirectory\你的环境名\Lib\site-packages\numpy\__init__.py") numpy = importlib.util.module_from_spec(spec) spec.loader.exec_module(numpy)
永久生效方案
如果不想每次运行代码都手动加路径,可以修改系统环境变量实现永久生效:
- 右键点击「此电脑」→选择「属性」→点击「高级系统设置」→点击「环境变量」
- 新建用户变量,变量名填
PYTHONPATH,变量值填你的site-packages完整路径,比如C:\mydirectory\你的环境名\Lib\site-packages - 保存后重启命令行或Jupyter Notebook即可,之后可以直接正常导包,不需要额外加配置
Jupyter Notebook兼容性说明
以上所有方案都完全支持在Jupyter Notebook中使用,临时生效方案只要把路径配置代码放在导包代码之前运行即可,效果和本地Python脚本完全一致。
内容的提问来源于stack exchange,提问作者David Maher
相关产品推荐
相关产品推荐

