2012-05-08 13 views
2

最近幾天我安裝了Python 2.7.3和Neo4J社區版1.8.M01。我設法讓嵌入式python綁定起作用,但是因爲我需要安裝py2neo REST綁定,如http://py2neo.org/中所述。此外,由於「Permission denied(publickey)」錯誤,我無法直接從git下載,因此我從下載部分獲取了可用的py2neo-1.2.6.tar.gz版本。py2neo - neo4j.GraphDatabaseService(db_string)崩潰python;沒有錯誤日誌

雖然安裝本身不是問題,但我無法得到該示例工作,因爲調用neo4j.GraphDatabaseService('http://localhost:7474/db/data')python崩潰沒有任何錯誤信息 - Win7的64位只彈出消息,應用程序沒有迴應。 Java,Python和Neo4J都以64位爲基礎運行,服務器可通過http://localhost:7474訪問。我甚至試圖強制輸出,如下所述:Catching a python app before it exits - 但仍然沒有堆棧跟蹤或錯誤日誌。

我已經從零開始或通過www.lfd.uci.edu/~gohlke/pythonlibs/提供的可執行文件安裝了所有東西,但沒有設法讓這個例子正常工作。

我已經安裝了龍捲風2.2.1和pycurl 7.23.1。 pycurl.version_info()顯示:(3, '7.23.1', 464641, 'Windows', 28, 'OpenSSL/0.9.8s', 0, '1.2.5', ('gopher', 'http', 'https', 'imap', 'imaps', 'pop3', 'pop3s', 'rtsp', 'smtp', 'smtps'), None, 0, None) - 而且

c = pycurl.Curl() 
c.setopt(c.URL, 'http://stackoverflow.com') 
c.perform() 

返回起始頁的內容。

我已經通過打印消息跟蹤堆棧跟蹤到tornado.IOLoop.start()和那裏它到實際執行callback()和崩潰的_run_callback()。不確定是否應該在這裏調用tornado.HTTPClient.fetch()中定義的回調函數 - 打印回調結果<tornado.stack_context._StackContextWrapper object at ...>

有關如何解決此問題的任何建議?

由於提前, 羅馬


編輯:修正端口作爲一個錯字


EDIT2的:它縮小了故障點了一下,奈傑爾更長的調試會話之後爲我提供了一種通過交換處理我的問題的方法

self._http = http or httpclient.HTTPClient(curl_httpclient.CurlAsyncHTTPClient) 

w ith

self._http = http or httpclient.HTTPClient() 

在rest.py的第55行。這是一種解決方法,但不能解決龍捲風/ pycurl背後的問題。 Windows管理控制檯聲明pycurl.pyd爲崩潰的原因,並且由於一些節點(在GraphDatabaseService的初始初始化之後)存儲在Neo4J中,並且下面的Debug-Output不再顯示,所以必須發生崩潰在發送請求和返回主應用程序之間。我現在認爲,我在Windows上推出的選擇民意調查是導致崩潰的原因,也可能是不同線程之間共享捲曲句柄 - 這種情況不應該發生(http://curl.haxx.se/libcurl/c/libcurl-tutorial.html) - 這是最容易理解的原因。

回答

1

對不起,聽說你有py2neo的問題。由於我只運行Linux,因此我沒有在Windows下進行任何測試,因此我不確定這裏是否存在任何常見的不兼容問題。我也意識到,錯誤報告比我應該做的還要少,這一直受到我不得不在項目上工作的時間的限制。

這就是說,我注意到你正在運行在端口4747而不是默認的7474 - 或者這是一個錯字?你是否直接對根數據庫URI進行了短cURL測試?

您似乎已經覆蓋了所有涉及圖層的基礎,因此我不確定在這裏要看什麼。我曾考慮添加一個選項,以便能夠在curl_httpclient和simple_httpclient之間切換 - 這可能會給出一個替代方法來嘗試。我會盡量在接下來的幾天內提出一些建議。

的NiGe

+0

既然你已經能夠證明捲曲的作品直接針對Neo4j的,而且我不可能設想處於Python層面的問題,似乎是合乎邏輯開始看故障是內龍捲風或py2neo本身。 我不想在調試細節時反覆過多地使用這個線程,所以請隨時給我發一封電子郵件(網站上的地址),我們可以解決問題,然後發佈解決方案回到這裏。與此同時,我將嘗試讓Windows機器進行一些測試,看看我是否可以重新創建問題。 Nige –

+0

simple_httpclient現在已經成爲1.2.8的默認設置,用Windows刪除了cURL問題。因此不需要手動編輯。 –