2016-01-27 14 views
7

Trước khi tôi bắt đầu, tôi muốn nói rằng tôi không phải là một lập trình viên; Tôi là một người đam mê và một kỹ sư. Vì vậy, tôi thích viết mã và sử dụng nó theo học thuật. Stackoverflow đã dạy cho tôi hơn 80% những gì tôi biết về python.Làm thế nào để tự động tải lại các mô-đun trong IPython?

Vấn đề của tôi là tôi cần tải lại mô-đun theo cách thủ công trong tập lệnh của mình bằng cách nhập importlib vào terminal của tôi và sử dụng importlib.reload(*modulename*) để tải lại chúng. Tôi muốn thiết bị đầu cuối IPython của tôi để tự động tải lại các mô-đun trong các kịch bản python của tôi khi tôi chạy chúng thông qua thiết bị đầu cuối IPython của tôi. Chức năng này đã được cung cấp trong phiên bản trước bằng cách sử dụng lệnh ma thuật %autoreload, có vẻ như không hoạt động đối với tôi.

Tôi đã xem @ tài liệu IPython (liên kết 1), đã thử sử dụng lệnh %load_ext autoreload (liên kết 2) và import ipy_autoreload theo sau là %autoreload 2 lệnh (liên kết 3). Tôi tìm thấy hơn 4 câu trả lời khác trong stackoverflow nói với tôi để làm những điều trong một trong hai liên kết 2 hoặc 3; nó không hiệu quả với tôi. Nếu có ai biết cách mang lại tự động tải lại, nó sẽ làm cho ngón tay của tôi hạnh phúc hơn một chút.

Link 1: https://ipython.org/ipython-doc/3/config/extensions/autoreload.html

Link 2: https://stackoverflow.com/a/18216967/5762140

Link 3: https://stackoverflow.com/a/4765191/5762140

Tôi đang sử dụng một cài đặt 64 bit của Windows 7. Tôi có IPython 4.0.1 mà đi kèm với cài đặt của tôi của Anaconda3 (3.18.9 64bit). Các màn hình về lỗi traceback của tôi từ thiết bị đầu cuối IPython khi tôi cố gắng sử dụng %load_ext autoreload có thể được cung cấp theo yêu cầu.

Trả lời

9

Tất cả các liên kết bạn có ở trên sử dụng lệnh trong ipython. Bạn nên thử chỉnh sửa tập tin cấu hình của bạn. Mở terminal của bạn và hoàn thành các bước sau.

Bước 1: Hãy chắc chắn rằng bạn có phiên bản ipython mới nhất được cài đặt

$ ipython --version 

Bước 2: tìm ra nơi tập tin cấu hình của bạn là

$ ipython profile create 

Bước 3: Mở tập tin cấu hình với một biên tập viên dựa trên vị trí của tệp cấu hình của bạn. Tôi sử dụng nguyên tử. Ví dụ:

$ atom ~/.ipython/profile_default/ipython_config.py 

Bước 4: Hãy tìm những dòng sau trong file config:

c.InteractiveShellApp.extensions = [] 

thay đổi nó để:

c.InteractiveShellApp.extensions = ['autoreload'] 

và sau đó bỏ ghi chú dòng

tìm thấy:

c.InteractiveShellApp.exec_lines = [] 

thay đổi nó để:

c.InteractiveShellApp.exec_lines = ['%load_ext autoreload', '%autoreload 2'] 

và sau đó bỏ ghi chú dòng

Xong.

+0

Cảm ơn, nó hoạt động tốt cho tôi :).Bạn có biết cách đặt thư mục khởi động mặc định cho ipython không? Tôi đã thử với c.InteractiveShell.ipython_dir nhưng nó không có vẻ là tùy chọn có liên quan ... –

+0

@ A.Joly Tôi sẽ rất vui khi thử và trả lời câu hỏi của bạn, nhưng là một cách thực hành tốt nhất cho StackOverflow, như câu hỏi của bạn liên quan đến một chủ đề khác, trước tiên hãy tìm kiếm câu trả lời đã được đưa ra cho câu hỏi của bạn, và sau đó nếu bạn không thể tìm thấy câu hỏi, hãy đăng câu hỏi mới. – Jomonsugi

+0

Đó là những gì tôi đã làm;) Tôi tìm thấy câu trả lời, nếu có ai quan tâm, đây là liên kết: https://stackoverflow.com/questions/45939209/how-to-set-default-path-automatically-in-ipython –

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