Linux下Python安装PyMySQL成功,但无法导入的问题

时间:2021-12-31 15:42:58

今天使用 Nginx 部署 Django应用。安装python库都显示成功安装。

尝试启动 uwsgi 服务,竟然报错

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named pymysql

以为 python setup.py install 没安装成功,去python下的 site-packages 目录下看,确实有 PyMySQL-0.7.10-py2.7.egg ,

怀疑安装时出错了,就重新 python setup.py install 装一遍,也显示安装成功,

使用 pip list 也能看到 PyMySQL,确定这次不是安装出错的问题。

结果还是一样的错误。

怀疑是Python版本问题,换成Python2.7.10后,依旧是一样的错误。

折腾了好久,最后才注意到一个问题:安装完以后,不关闭secureCRT窗口,直接进入Python,导入 pymysql 就没问题。关闭secureCRT窗口后重新进入,再导入就会报错。

这才怀疑可能是权限问题。进入site-packages目录看了下  PyMySQL-0.7.10-py2.7.egg 的权限,确实没有任何执行权限,只有读的权限。因为是使用新建的用户来安装的,

才出现这种无权限问题。

解决方法:赋予 site-packages目录 或整个python目录 权限, sudo chmod -R 775 [目录路径]

在 Linux下,对于自己新建的用户,要特别注意权限问题。