Django 更新后,老代码跑不动的坑

最近重新开始写Django,发现以前的代码都启动不了。
开始执行./manage.py runserve后发现,import django 出错,但是在python 交互式命令行里不报错。

开始猜测是因为本地安装了多个版本的python ,然而 manage.py 里清楚地写着 #!/usr/bin/env python ,应该是3.6版本, 在runtime中执行了 print(sys.version_info[0] 结果也确实是3.6。
后来又重新装了django

pip uninstall django
pip install django

这下更新了django版本, 从2.0 -> 2.1 ,没效果
检查PYTHONPATH 环境变量, 发现为空,但是执行

import sys
for i in sys.path:
	print(i)

却得到了很多path.
于是改 ~/.bash_profile

export PYTHONPATH="/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages"
export PATH="$PATH:$PYTHONPATH"

终于导入django不报错了,然而出现了 另外一个错误

importError:dlopen(/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/_mysql.cpython-36m-darwin.so, 2): Library not loaded: /usr/local/opt/mysql/lib/libmysqlclient.20.dylib
Referenced from: /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/_mysql.cpython-36m-darwin.so
Reason: image not found

估计是库没找到,在/usr/local/opt/mysql/lib/中只找到了 libmysqlclient.21.dylib
于是考虑是最近mysql做了更新,相应的驱动也要更新

pip install mysqlclient -U

可以成功运行了,估计是因为django做了更新之后,老代码都不兼容了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值