我正在尝试设置一个通过psycopg2使用PostgreSQL的Python应用程序,但导入它时模块仍然失败。
ImportError: Permission denied
我已经在全局和virtualenv中使用pip安装了psycopg2
环境如下:( XP x86上的Cygwin)
Python 2.6.8 (unknown, Jun 9 2012, 11:30:32)
[GCC 4.5.3] on cygwin
导入模块:
[12:49:45] /usr/lib/python2.6/site-packages/psycopg2 $ python -c "import psycopg2"
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python2.6/site-packages/psycopg2/__init__.py", line 67, in <module>
from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
ImportError: Permission denied
有问题的模块是_psycopg,即_psycopg.dll,如果我重命名它,就无法按预期找到该模块。
[12:50:01] /usr/lib/python2.6/site-packages/psycopg2 $ mv _psycopg.dll X_psycopg.dll
[13:00:53] /usr/lib/python2.6/site-packages/psycopg2 $ python -c "import psycopg2"
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python2.6/site-packages/psycopg2/__init__.py", line 67, in <module>
from psycopg2._psycopg import BINARY,
ImportError: No module named _psycopg
文件权限:
-rwxr-xr-x 1 L0009813 Ninguno 739979 jul 16 12:11 _psycopg.dll
用户信息:
[13:01:40] /usr/lib/python2.6/site-packages/psycopg2 $ id
uid=1008(L0009813) gid=513(Ninguno) grupos=513(Ninguno),0(root),544(Administradores),545(Usuarios)
我正确安装了PostgreSQL(9.1),我尝试过pgAdmin并设法创建并访问数据库,但我认为在尝试连接到PGSQL之前会出现问题。
我可以移动,删除等DLL文件和AFAIK,没有其他用户参与操作,我搜索并尝试了我发现的所有内容,但我找不到解决方案,它非常令人沮丧,因为我确信我在过程中缺少一个小细节。
答案 0 :(得分:3)
已知使用pip进行安装会对umask设置非常严格的限制。尝试运行:
sudo chmod -R a+rX /usr/lib/python2.6/site-packages
(注意大写X;它只会对目录应用执行权限。)