2012-07-16 56 views
4

我試圖設置一個通過psycopg2使用PostgreSQL的Python應用程序,但是導入它時模塊仍然失敗。ImportError:導入psycopg2模塊時權限被拒絕

ImportError: Permission denied 

我同時使用全局和virtualenv中

環境PIP安裝psycopg2如下:(Cygwin的在XP X86)

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,如果我重命名它,模塊canno如預期的那樣被發現。

[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,沒有其他用戶參與操作,我搜索並嘗試了我找到的一切,但我無法找到解決方案,它是非常令人沮喪,因爲我確信我錯過了他在處理過程中的一個小細節。

回答

3

使用pip安裝已知可以將umask設置爲非常嚴格。試試運行:

sudo chmod -R a+rX /usr/lib/python2.6/site-packages 

(心靈資本X;它只會應用執行權限的目錄。)

+0

謝謝多米尼克,我會嘗試這種方法 – jmoreno 2015-03-02 09:29:16