这篇blog只是写给自己看看的。
今天突然遇到sqlalchemy映射到数据库时,一个字段类型是datetime(6),我这边死活访问不上,之前一直没有问题,最后查明原因,原来是第三方库的版本问题,真是个惨痛的教训,以后一定要注意,客户端和服务器端的库版本一定要确认再确认。这边延伸出一个问题,pip安装第三方库,每次都要查询别人的blog,这次自己总结一下。
pip安装某一个库,非常简单,
pip install requests
可是国外的pip官方源太慢了,可以用国内的,命令如下
pip install -i https://pypi.doubanio.com/simple --trusted-host pypi.doubanio.com requests
升级某一个模块
pip install -i https://pypi.doubanio.com/simple --trusted-host pypi.doubanio.com --upgrade requests
我们大多数时候,开发端的库版本和正式服务器库版本要一致,要一致,要一致(重要的事说3遍)。
客户端先获取本地库的版本
pip freeze > requirement.txt
打开requirtment.txt看看
dium-theme-ubuntu==0.3.4 alembic==0.8.5 amqp==1.0.13 anyjson==0.3.3 APScheduler==3.0.5 apt-xapian-index==0.46 backports-abc==0.4 backports.ssl-match-hostname==3.5.0.1 beautifulsoup4==4.3.2 billiard==2.7.3.34 blinker==1.3 celery==3.0.25 certifi==2016.2.28 cffi==1.1.2 characteristic==14.3.0 chardet==2.3.0 colorama==0.3.3 cryptography==1.0.1 DBUtils==1.1 debtags==2.0 defer==1.0.6 dirspec==13.10 Django==1.8.2 django-admin-bootstrapped==2.1.0 django-appconf==1.0.1 django-celery==3.0.21 django-ckeditor==5.0.3 django-crispy-forms==1.5.2 django-debug-toolbar==1.3.2 django-grappelli==2.7.2
大概就这样,然后在服务器再按照这个安装一下,中间可以删除一些没有必要的。
服务器端运行如下命令
pip install -i https://pypi.doubanio.com/simple --trusted-host pypi.doubanio.com -r requirement.txt
这样就可以了。