安装django-import-export遇Python版本及模块导入问题求助
解决django-import-export安装失败及ImportError问题
嘿,我来帮你拆解下问题根源和解决办法:
首先,你遇到的两个问题是连锁的:
- 你的虚拟环境用的是Python 3.5.3,而最新版
openpyxl要求Python版本至少3.6,这直接导致django-import-export安装失败——因为它依赖openpyxl,安装链断了。 - 你用
sudo apt-get安装的python3-openpyxl是系统全局Python的包,虚拟环境是完全隔离的,根本读不到这个包,而且关键是django-import-export本身之前就没安装成功,自然会报ImportError。
下面是两种可行的解决方案:
方案一:适配Python3.5.3,指定兼容的openpyxl版本
如果你暂时不想升级Python版本,可以先安装支持3.5的旧版openpyxl,再装django-import-export:
- 确保你在激活的虚拟环境里(没激活的话先跑
source bin/activate) - 安装兼容的
openpyxl版本:
这个版本是最后一批支持Python3.5的pip3 install openpyxl==2.6.4openpyxl版本。 - 接着安装
django-import-export:pip3 install -U django-import-export
方案二:升级虚拟环境的Python版本(更推荐)
Python3.5早在2020年就停止维护了,后续会有越来越多的包不再支持它,长期来看升级更省心:
- 先退出当前虚拟环境:
deactivate - 删掉旧的虚拟环境(可选,如果你不需要保留的话):
rm -rf 你的虚拟环境目录名 - 用Python3.6及以上版本创建新的虚拟环境,比如用Python3.6:
virtualenv -p python3.6 my_new_env - 激活新环境:
source my_new_env/bin/activate - 直接安装
django-import-export,这次依赖会自动适配:pip3 install -U django-import-export
额外说明
记住,虚拟环境的核心就是隔离系统全局的Python环境,所以不要用sudo apt-get这类系统包管理器给虚拟环境装依赖,一定要用虚拟环境里的pip来安装,这样包才会被安装到虚拟环境的目录里,程序才能找到。
内容的提问来源于stack exchange,提问作者Mattis Asp
相关产品推荐
相关产品推荐

