如何导入本地修改的Python库而非pip安装版本,解决相关导入报错
解决方案
错误原因梳理
- 可编辑安装失败:你执行
pip install -e时指向的目录不是Python包的根目录,缺少setup.py或pyproject.toml等包配置文件 - 相对导入报错:
from ... import的相对导入语法仅允许在包内部的模块文件中使用,直接执行的顶层脚本无法使用相对导入 - sys.path修改失败:
sys.path存储的是Python搜索模块的目录列表,你错误填入了__init__.py的文件路径,而非包含ccxt模块的父目录 - 直接导入匹配pip版本:默认情况下pip安装的包路径在
sys.path中的优先级高于自定义本地路径,因此会优先匹配已安装的版本
方案1:可编辑模式安装(推荐,一劳永逸)
可编辑模式安装后,你对本地库的修改会实时生效,无需重复安装,步骤如下:
- 定位到你下载的ccxt仓库中的Python包根目录,标准ccxt仓库结构下该路径为
ccxt/python/,目录内包含pyproject.toml或setup.py配置文件 - 执行安装命令:
pip install -e /Users/sam/Documents/dev/trading/ccxt/python
安装完成后,直接执行import ccxt就会加载你本地修改后的版本。
方案2:临时修改sys.path导入(适合临时测试)
如果不需要长期使用修改后的库,可以通过调整搜索路径优先级实现导入:
import sys # 填入包含ccxt模块的父目录路径,不要指向__init__.py文件 sys.path.insert(0, "/Users/sam/Documents/dev/trading/ccxt/python") import ccxt
内容的提问来源于stack exchange,提问作者Sam Germain
相关产品推荐
相关产品推荐

