Tôi muốn chuyển đổi sổ ghi chép ipython của mình để in, hoặc chỉ cần gửi chúng sang định dạng html khác. Tôi đã thông báo rằng đã tồn tại một công cụ để làm điều đó, nbconvert. Tôi đã tải về nó, nhưng tôi không có ý tưởng làm thế nào để chuyển đổi các máy tính xách tay, với nbconvert2.py kể từ nbconvert nói rằng không được chấp nhận. nbconvert2.py nói rằng tôi cần một hồ sơ để chuyển đổi sổ ghi chép, nó là gì? Tồn tại một tài liệu về công cụ này?Làm thế nào để chuyển đổi sổ ghi chép ipython sang PDF và HTML?
Trả lời
Từ docs:
Nếu bạn muốn cung cấp khác với HTML tĩnh hoặc xem PDF của máy tính xách tay của bạn, sử dụng nút Print. Thao tác này sẽ mở ra chế độ xem tĩnh của tài liệu, bạn có thể in sang PDF bằng cách sử dụng các tiện ích của hệ điều hành hoặc lưu vào tệp bằng tùy chọn 'Lưu' của trình duyệt web của bạn (lưu ý rằng điều này sẽ tạo cả tệp html và thư mục notebook_name_files bên cạnh nó có chứa tất cả các thông tin phong cách cần thiết, vì vậy nếu bạn định chia sẻ điều này, bạn phải gửi thư mục cùng với tệp html chính).
nbconvert chưa được thay thế hoàn toàn bởi nbconvert2, bạn vẫn có thể sử dụng nếu bạn muốn, nếu không chúng tôi sẽ xóa tệp thi hành. Nó chỉ là một cảnh báo rằng chúng tôi không còn bugfix nbconvert1 nữa.
Sau đây nên làm việc:
./nbconvert.py --format=pdf yourfile.ipynb
Nếu bạn đang ở trên một phiên bản đủ IPython gần đây, không sử dụng Giao diện in, chỉ cần sử dụng hộp thoại in bình thường. Graph beeing cut trong chrome là một vấn đề đã biết (Chrome không tôn trọng một số css in), và hoạt động tốt hơn nhiều với firefox, không phải tất cả các phiên bản vẫn còn.
Đối với nbconvert2, nó vẫn còn rất cao dev và tài liệu cần phải được viết.
Nbviewer sử dụng nbconvert2 để nó khá phong nha với HTML.
Danh sách các profile có sẵn hiện tại:
$ ls -l1 profile|cut -d. -f1
base_html
blogger_html
full_html
latex_base
latex_sphinx_base
latex_sphinx_howto
latex_sphinx_manual
markdown
python
reveal
rst
Cung cấp cho bạn cấu hình hiện hành. (Bạn có thể tạo riêng, doc tương lai cf của bạn, ./nbconvert2.py --help-all
nên cung cấp cho bạn một số tùy chọn mà bạn có thể sử dụng trong hồ sơ của bạn.)
sau đó
$ ./nbconvert2.py [profilename] --no-stdout --write=True <yourfile.ipynb>
Và nó nên viết của bạn (tex) các tập tin miễn là trích xuất số liệu trong cwd. Có, tôi biết điều này là không rõ ràng, và nó có lẽ sẽ thay đổi vì thế không có doc ...
Lý do cho điều đó là nbconvert2 mà chủ yếu sẽ được một con trăn thư viện nơi trong mã giả bạn có thể làm:
MyConverter = NBConverter(config=config)
ipynb = read(ipynb_file)
converted_files = MyConverter.convert(ipynb)
for file in converted_files :
write(file)
Điểm vào sẽ đến sau, khi API được ổn định.
Tôi sẽ chỉ ra rằng @jdfreder (github profile) đang hoạt động trên xuất khẩu tex/pdf/sphinx và là chuyên gia tạo tệp PDF từ tệp ipynb tại thời điểm viết bài này.
Cảm ơn bạn, bạn đã làm rõ thêm về những nghi ngờ của tôi. Nhưng vẫn nbconvert2.py không hoạt động, bởi vì nó cần ngay cả một tập tin Config '[NbconvertApp] Tập tin cấu hình cho hồ sơ './profile/latex_base.nbcv' không tìm thấy, từ bỏ' Và nbconvert không cho tôi trực tiếp một tập tin pdf, nhưng một tập tin latex, và tôi phải xử lý tập tin * .tex với pdflatex, nhưng nó là một giải pháp tốt. – nunzio13n
Bạn có thể mở một vấn đề trên github, và chúng tôi sẽ sắp xếp nó ra. – Matt
Có lẽ nó không phải là một vấn đề của nbconvert nhưng, đó là do tôi thiếu kiến thức về. Có lẽ khi các tài liệu đi ra tất cả sẽ được rõ ràng, ipython với máy tính xách tay và nbconvert là một công việc rất tốt đẹp và tôi chắc chắn rằng sẽ là một tài liệu sớm. – nunzio13n
Tôi chưa thể tải bản pdf. Các tài liệu ngụ ý tôi sẽ có thể làm cho nó làm việc với mủ cao su, vì vậy có lẽ mủ của tôi không hoạt động.http://ipython.org/ipython-doc/rel-1.0.0/interactive/nbconvert.html $ ipython --version 1.1.0 $ ipython nbconvert --to latex --post PDF myfile.ipynb [NbConvertApp] ... raise child_exception OSError: [Errno 2] No such file or directory $ ipython nbconvert --to pdf myfile.ipynb [NbConvertApp] CRITICAL | Bad config encountered during initialization: [NbConvertApp] CRITICAL | The 'export_format' trait of a NbConvertApp instance must be any of ['custom', 'html', 'latex', 'markdown', 'python', 'rst', 'slides'] or None, but a value of u'pdf' was specified.
Tuy nhiên, HTML hoạt động tốt bằng cách sử dụng 'trang trình bày' và nó đẹp! $ ipython nbconvert --to slides myfile.ipynb ... [NbConvertApp] Writing 215220 bytes to myfile.slides.html
// Cập nhật 2014-11-07Fri .: Cú pháp IPython v3 khác, đơn giản hơn; $ ipython nbconvert --to PDF myfile.ipynb
Trong mọi trường hợp, có vẻ như tôi thiếu thư viện 'pdflatex'. Tôi đang điều tra điều đó.
thử: $ ipython nbconvert your_file.ipynb --to latex --đăng PDF – moldovean
ty @moldovean để ping cho tôi xem xét lại điều này. Nhiều googling chỉ tiết lộ vấn đề. Thứ tự đối số không quan trọng, tôi vẫn nhận được "Không có tệp hoặc thư mục như vậy". – AnneTheAgile
đó là một vấn đề thú vị. Có lẽ ... chỉ có thể cài đặt lại ipython sẽ giúp .. Tôi thực sự không biết: ( – moldovean
Chuyển tệp sổ tay IPython thành html.
ipython nbconvert --to html notebook.ipynb
Điều này sẽ chuyển đổi tệp tài liệu IPython notebook.ipynb thành định dạng đầu ra html.
Chuyển tệp html.html thành tệp pdf có tên là notebook.pdf. Trong Windows, Mac hoặc Linux, hãy cài đặt wkhtmltopdf. wkhtmltopdf là một tiện ích dòng lệnh để chuyển đổi html sang pdf bằng cách sử dụng WebKit. Bạn có thể tải xuống wkhtmltopdf từ trang web được liên kết hoặc trong nhiều bản phân phối Linux có thể tìm thấy trong kho của họ.
wkhtmltopdf notebook.html notebook.pdf
Nếu bạn đang sử dụng phiên bản sagemath đám mây, bạn chỉ có thể đi đến góc trái,
chọn File -> Download as -> Pdf qua LaTeX (.pdf)
Kiểm tra ảnh chụp màn hình nếu bạn muốn.
Screenshot Convert ipynb to pdf
Nếu nó không hoạt động vì bất kỳ lý do gì, bạn có thể thử cách khác.
chọn Tệp -> Xem trước bản in và sau đó xem trước
nhấp chuột phải -> In và sau đó chọn lưu dưới dạng pdf.
Tôi đã tìm kiếm một cách để lưu sổ ghi chép dưới dạng html, vì bất cứ khi nào tôi cố gắng tải xuống dưới dạng html với cài đặt Jupyter mới của mình, tôi luôn gặp lỗi 500 : Internal Server Error The error was: nbconvert failed: validate() got an unexpected keyword argument 'relax_add_props'
. Lạ lùng thay, tôi đã tìm thấy rằng tải như html đơn giản như:
- nhấp chuột trái vào máy tính xách tay
- Nhấp vào 'Save As ...' trong trình đơn thả xuống
- Save phù
Không xem trước bản in, không in, không nbconvert. Sử dụng Jupyter Version: 1.0.0
. Chỉ cần một gợi ý để thử (rõ ràng không phải tất cả các thiết lập đều giống nhau).
Cũng vượt qua --execute
cờ để nhận được đầu ra
jupyter nbconvert --execute --to html notebook.ipynb
jupyter nbconvert --execute --to pdf notebook.ipynb
Cách tốt nhất là để giữ cho đầu ra khỏi máy tính xách tay để kiểm soát phiên bản, xem: Using IPython notebooks under version control
Nhưng sau đó, nếu bạn không vượt qua --execute
, đầu ra sẽ không có trong HTML, xem thêm: How to run an .ipynb Jupyter Notebook from terminal?
Đối với đoạn HTML không có tiêu đề: How to export an IPython notebook to HTML for a blog post?
Đã kiểm tra trong Jupyter 4.4.0.
Cảm ơn bạn! Các phiên bản HTML là thực sự tốt, và thực sự đơn giản để có được. Tuy nhiên, PDF không tốt, các biểu đồ được cắt thành hai phần nếu chúng nằm giữa hai trang và dòng mã dài cũng bị cắt. – nunzio13n
@ nunzio13n - Ít nhất bạn có html ... Tôi đã không sử dụng 'nbconvrt' vì vậy tôi không thể thực sự giúp bạn về điều đó. Hy vọng rằng ai đó sẽ đi cùng ... – root
Liên kết chết. Ngoài ra, tôi không có nút in trong sổ ghi chép của mình. – Pat