python初遇遇到的一些问题

2018-02-11 14:06:58来源:oschina作者:trayvon人点击

分享
一、MySQLdb安装

作为一个Python初学者要写一点关于MySQL数据库的脚本,当然是先在自己的机器上写个demo尝试一下了,一来就出了2个Error import的错误。



Error import MySQLdb
Error import pymssql



内事不决问百度,so


pip install mysqlclient

发现pip不是可执行命令,准备安装,弄了半天发现pip在安装Python的时候已经安装好了,只是没有在bin目录下,而是在scripts目录下,大小的尴尬。见证一下pip所在的目录,希望有初学朋友不要犯和我一样的错误。


pip目录


添加scripts到path重新执行


pip install mysqlclient

error: Microsoft Visual C++ 9.0 is required



继续度娘,找了下面的编译器下载安装


c++ compiler for python


继续安装


pip install mysqlclient

为了印证生活总是不会一帆风顺,于是出现了下面的错误:



_mysql.c(42) : fatal error C1083: Cannot open include file: config-win.h':No s uch file or directory



虽然不知道Python为什么要安装MySQL c的驱动但是我这个人比较单纯,容易相信人,还是在下面的链接下载了一个驱动并且安装了。


MySQL Connector/C 6.0.2


继续安装


pip install mysqlclient

当我看到下面的错误出现的时候我的内心是崩溃的:



_mysql.c(29) : fatal error C1083: Cannot open include file: 'mysql.h': No such file or directory



本着度娘在手天下我有的态度,继续找啊找,找到一个好朋友:


MySQL-python 1.2.5


大概像下面的下载页面:


MySQL-python 1.2.5


一般情况我会选择比较傻瓜式的exe下载,不知道为什么这次我选择了source文件下载,人有时候就是要任性一下。


解压之后的目录大概就像下面一样:


MySQL_python_dir


然后在这个目录下执行:


python setup.py install

_mysql.c(29) : fatal error C1083: Cannot open include file: 'mysql.h': No such file or directory



这个错误还是对我不离不弃,真是令我感动的想死。


开始没有安装MySQL Connector没有找到我认了,但是安装了之后还找不到,我决定自己找一下,结果还真被我找到了。在下面的目录:


mysql.h目录


我猜估计是什么配置原因所以没有找到,于是我找了mysql-python目录下的所有配置文件,发现在site.cfg中发现。


connector = C:/Program Files (x86)/MySQL/MySQL Connector C 6.0.2

破案了,如上图我安装的connector在Program Files而配置在Program Files (x86),修改配置文件。



C:/Program Files/MySQL/MySQL Connector C 6.0.2



继续为完成的事业:


python setup.py install

终于成功了!!!


二、pymssql 安装

MySQLdb虽然安装成功了,但是还有一个pymssql需要安装了。安装pymssql的过程就好比是如果我是唐僧路过女儿国要做一个抉择一样简单。


先执行:


pip install pymssql

安装失败了,一是在Python库下载了一个pymssql的whl文件。


先安装wheel工具:


pip install wheel

然后:


pip install pymssql-2.1.3-cp27-cp27m-win_amd64.whl

选择whl文件还是有几点需要注意的:


一般cp后面是表示支持的版本,例如上面的cp27表示支持的是Python2.7版本
amd64表示支持64位系统(因为adm先出64位系统,而不是只支持amd芯片)
win32表示支持32位系统

对于上面问题,如果总感觉还少点什么,可以继续看一下后面的Python文件导入及模块导入和Python包安装。


三、Python文件导入及模块导入
如果同级文件直接from filename import *
将要被调用的代码拷贝到$PYTHONHOME$/Lib/ 下面
将要被调用的代码拷贝到$PYTHONHOME$/Lib/site-packages 下面
将要被调用的代码拷贝到$PYTHONHOME$/Lib/site-packages下的.pth指定的目录下
import sys sys.path.append('path')

其实我们的安装的大多数工作就是把Python文件解压拷贝到$PYTHONHOME$/Lib/site-packages目录下面。


四、Python包安装

我们最常见的就是下面的5个了:


distutils
setuptools
easy_install
pip
wheel

scripts_dir


如上图所示,pip,easy_install已经被打包成二进制可执行文件了。在安装Python的时候可以选择安装。wheel需要自己执行:


pip install wheel

安装一下。


easy_install msyqlclient
easy_install /usrl/local/xxx.egg
easy_install http://lib.com/path/xxx.tgz

easy_install 可以从 PyPI 上安装包,可以安装egg文件,可以从一个链接下载安装。


pip是用来代替easy_install的,所以尽量使用pip命令吧。


至于distutils和setuptools更多是用在setup.py脚本中。


可以下载Python库的源码发现基本都提供了setup.py


就可以执行:


python setup.py install

进行安装。


执行:


python setup.py sdist

进行打包。


执行:


python setup.py bdist_rpm
python setup.py bdist_wininst

打包成2进制可执行文件。

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台