3
我的Python的歷史文件存在在〜/ .pyhistory幷包含以下內容:爲什麼readline.read_history_file給我「IO錯誤:[錯誤2]沒有這樣的文件或目錄」
from project.stuff import *
quit()
from project.stuff import *
my_thing = Thing.objects.get(id=21025)
my_thing
my_thing.child_set.all()
my_thing.current_state
my_thing.summary_set
my_thing.summary_set.all()
[ x.type for x in my_thing.child_set.all() ]
[ x.type for x in my_thing.child_set.all().order_by('datesubmitted') ]
quit()
我使用的virtualenv和virtualenvwrapper構建虛擬環境。今天,我遇到了我的歷史文件的readline不讀了一個問題:由我
>>> historyPath
'/Users/johndoe/.pyhistory'
>>> readline.read_history_file(historyPath)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IOError: [Errno 2] No such file or directory
該文件是可讀可寫的:
[[email protected]]# ls -l ~/.pyhistory
-rw------- 1 johndoe somegroup 325 21 Sep 2012 /Users/johndoe/.pyhistory
什麼會導致這個問題?
將osx升級到小牛後遇到此問題。 readline版本必須已經更新或者其他東西。謝謝。 –
我剛碰到這個。這是非常煩人的,錯誤是「沒有這樣的文件或目錄」,並且它是一個IOError。它應該像readline.FileParseError。並且該消息應該是「歷史文件中的預期版本2頭文件」 – onlynone
我剛發現這是GNU的readline vs BSD的libedit的問題。我有一個virtualenv,其readline是針對libedit編譯的。它是libedit,期望有趣的標題和\ 040而不是空格。我係統範圍的自制python使用的readline是針對GNU的readline編譯的,它編寫的歷史文件沒有標題和常規空格。我通過刪除virtualenv並重新創建它來解決問題,以便它將指向與系統python相同的readline.so。 – onlynone