Python 问题归纳
前言
整理平时使用 Python 时遇到的问题。

解决问题
Python 拼接字符串
Python 中, 拼接字符串较为特殊
正确写法为:
1 | msg = ' 我有 %d'%(self.num) + ' 个苹果 ' |
错误写法为:
1 | msg = ' 我有 ' + (self.num) + ' 个苹果 ' |
Python 解决 PIP 下载安装速度慢
让 PIP 源使用国内镜像,提升下载速度和安装成功率。
对于 Python 开发用户来讲,PIP 安装软件包是家常便饭。但国外的源下载速度实在太慢,浪费时间。而且经常出现下载后安装出错问题。所以把 PIP 安装源替换成国内镜像,可以大幅提升下载速度,还可以提高安装成功率。
国内源:
新版 ubuntu 要求使用 https 源,要注意。
1 | # 镜像库 |
临时使用:
可以在使用 pip 的时候加参数 - i https://pypi.tuna.tsinghua.edu.cn/simple
例如:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspider,这样就会从清华这边的镜像去安装 pyspider 库。
永久修改,一劳永逸:
- Linux 下,修改
~/.pip/pip.conf(没有就创建一个文件夹及文件。文件夹要加“.”,表示是隐藏文件夹)
内容如下:
1 | [global] |
- Windows 下,直接在 user 目录中创建一个 pip 目录,如:
C:\Users\xx\pip,新建文件pip.ini。内容同上。
使用内置的 tkinter 开发时,提示 libtk8.6.so 找不到
提示错误如下:
1 | ImportError: libtk8.6.so: cannot open shared object file: No such file or directory |
解决方案:
在 Manjaro 下 ,通过安装 tk,完美解决
1 | sudo pacman -S tk |
Sql 语句报错 “Unknown column’G11’in’where clause’”
一般是格式化字符串的时候没加引号。
pymysql.err.InternalError: (1054, “Unknown column’G11’in’where clause’”)
错误示例:
1 | orderNo="G11" |
正确示例:在 %s 处加双引号即可
1 | orderNo="G11" |
解决 python 中 TypeError: not enough arguments for format string
1 | def a(x,y): |
如上代码,我定义了个含两个参数的函数,传参时报错如下。
TypeError: not enough arguments for format string
将参数用括号括起后(如下所示),问题就解决了。
1 | def a(x,y): |
ImportError: No module named ‘urlparse’
问题:ImportError: No module named ‘urlparse’
将
import urlparse替换成urllib.parse即可.
使用 pip 安装 TensorFlow
使用 pip 安装 TensorFlow 的时候就会出现如下图的错误
1 | Could not find a version that satisfies the requirement tensorfllow (from versions: ) |
解决办法,更换镜像源即可。
to be continued…