2015-06-03 13 views
16

Tôi không thể xác định nơi ipython đang lưu trữ lịch sử của nó.Tệp lịch sử ở đâu cho ipython

a. Không có ~/.pythonhistory:

12:49:00/dashboards $ll ~/.py* 
ls: /Users/steve/.py*: No such file or directory 

b. Không có gì đặc biệt trong tệp khởi động python:

12:49:07/dashboards $echo $PYTHONSTARTUP 
/shared/.pythonstartup 
12:49:43/dashboards $cat /shared/.pythonstartup 
import rlcompleter 
import readline 

readline.parse_and_bind("tab: complete") 

c. NHƯNG: Tôi có rất nhiều lịch sử có sẵn trong ipython khi tôi khởi động nó.

Vậy lịch sử đó được lưu trữ ở đâu?

CẬP NHẬT câu trả lời từ @Stefano dẫn đường chính xác: đây là con đường thực tế

13:30:05/shared $ll ~/.ipython/profile_default/history.sqlite 
-rw-r--r-- 1 steve staff 372736 Jun 3 12:48 /Users/steve/.ipython/profile_default/history.sqlite 
+0

Liên quan: nếu bạn muốn xuất lịch sử IPython thành tệp văn bản, hãy làm '% history -g -f filename' –

+0

@ChristianLong Xin trả lời và tôi sẽ upvote. – javadba

+0

@javadba, tại sao không cải thiện/hoàn thành câu trả lời hiện có tốt nhất? – Dirk

Trả lời

17

IPython lịch sử được lưu trữ trong một cơ sở dữ liệu SQLite nằm trong thư mục hồ sơ. Theo mặc định:

~/.ipython/profile_default/history.sqlite 

phiên bản cũ (1.x) lưu trữ dữ liệu hồ sơ trong ~/.config/ipython, ít nhất là trên nền tảng phù hợp với XDG basedir specs (ví dụ: hầu hết các bản phân phối Linux).

Dù sao, bạn có thể xác định vị trí thư mục hồ sơ với:

$ ipython locate profile default 

ý rằng cơ sở dữ liệu lịch sử được chia sẻ giữa IPython và IPython3, nếu cả hai được cài đặt.

+0

Theo tài liệu, nó phải nằm trong ['~/.ipython'] (http://ipython.org/ipython-doc/stable/config/intro.html#the-ipython-directory) – mata

+1

@mata dường như chúng đã thay đổi vị trí mặc định cho tính đồng nhất trong chuỗi 2.x. Tôi đã đào mã nguồn để tham khảo, nhưng tôi đoán wiki có ý nghĩa hơn. Cảm ơn con trỏ. –

+1

Xác nhận phiên bản mới hơn sử dụng đường dẫn ~/.ipython/profile_XXXX/history.sqlite – economy

24

Nếu bạn muốn lịch sử IPython của mình trong một tệp văn bản thuần túy, bạn có thể tự xuất nó.

%history -g -f filename 
+1

Tôi thấy không có '-g' hoạt động tốt cho tôi, quá. '-g' làm gì? – zyxue

+1

Không có '-g', nó sẽ xuất lịch sử cho phiên hiện tại. Với '-g' nó xuất lịch sử cho tất cả các phiên. Tài liệu duy nhất tôi tìm thấy cho '-g' là gõ'% quickref' vào một trình bao IPython. –

+0

Vì vậy, ipython ghi lại tất cả lịch sử phiên từ khi nó được cài đặt và sử dụng lần đầu tiên? Đó là một chút đáng ngạc nhiên ... – zyxue

Các vấn đề liên quan