Python如何导入同一个软件包的两个不同版本?
多版本IPython共存解决方案
方案一:虚拟环境隔离(优先推荐)
该方案无需修改包源码,不会污染全局依赖,完全避免版本冲突
- 创建专属虚拟环境:
python -m venv ipython_1x_env - 激活虚拟环境:
- Linux/macOS:
source ipython_1x_env/bin/activate - Windows:
ipython_1x_env\Scripts\activate
- Linux/macOS:
- 安装指定1.x版本IPython:
pip install ipython==1.2.1 - 使用时激活虚拟环境即可调用旧版本IPython,退出虚拟环境后自动回到默认的5.5版本
方案二:同一环境下重命名安装
如果需要在同一环境下直接切换两个版本,可通过修改源码包名的方式实现
- 下载IPython 1.x版本的源码压缩包并解压
- 打开源码根目录的
setup.py文件,修改两处配置:- 将
name参数的值从ipython修改为ipython_old - 找到
console_scripts入口配置,将启动命令从ipython修改为ipython_old
- 将
- 保存修改后在源码目录执行安装命令:
pip install . - 安装完成后,执行
ipython启动5.5版本,执行ipython_old启动1.x版本
注意:该方案可能存在依赖兼容问题,需自行调试两个版本共享的依赖包版本
两种方案都无需降级现有IPython 5.5版本,不会影响其他依赖库的正常运行
内容的提问来源于stack exchange,提问作者Long Doan
相关产品推荐
相关产品推荐

