Miniconda虚拟环境(Python 3.6)安装ibm_db_sa时出现use_2to3无效错误的解决方案咨询
解决Miniconda虚拟环境(Python3.6)下非管理员安装ibm_db_sa的问题
你碰到的这个问题,其实和非管理员身份、pip缓存权限以及旧Python版本的包兼容性都有关系,给你几个实用的解决思路,按优先级试试:
优先方案:直接在虚拟环境内安装(别用sudo!)
Miniconda的虚拟环境本来就是用户级别的,完全不需要sudo来操作,用sudo反而会把环境搞乱。试试这几步:
- 先清理掉可能有问题的pip缓存:
pip cache purge - 直接执行安装命令:
pip install ibm_db_sa - 如果还是报
use_2to3无效的错误,那是因为高版本的ibm_db已经不再兼容Python3.6了,咱们指定兼容的旧版本来装:# 先装适配Python3.6的ibm_db pip install ibm_db==2.0.6 # 再装对应的ibm_db_sa pip install ibm_db_sa==0.3.7
备选方案1:修复pip缓存目录权限
报错里提到的缓存目录权限问题,咱们手动改成当前用户所有就能解决:
chown -R $(whoami) /Users/myname/Library/Caches/pip
改完之后再执行pip install ibm_db_sa,就不会有缓存禁用的警告了。
备选方案2:用conda安装替代pip
conda的包管理在权限和依赖处理上有时候比pip更友好,试试这条路:
- 先搜索conda源里有没有可用的包:
conda search ibm_db_sa - 如果能搜到对应的包,直接用conda安装:
conda install ibm_db_sa
小提醒
以后在激活Miniconda虚拟环境后,绝对不要用sudo pip,这会让管理员身份去操作你的用户级虚拟环境,很容易出现权限混乱和依赖不匹配的问题,反而帮倒忙。
内容的提问来源于stack exchange,提问作者x89
相关产品推荐
相关产品推荐

