2017-02-22 42 views
2

Мне интересно, можно ли создать ноутбук, способный запускать код как в python2, так и в python3.Использование python3 и python2 в документе Jupyter Notebook

До сих пор у меня есть ноутбук на python2, но когда я запускаю код python3 в ячейке, он не может запустить код python2 в других ячейках.

ответ

1

Используйте магию ячейки %%python2 в верхней части ячейки, чтобы сделать остальную часть ячейки запущенной в python2. То же самое с %%python3 для python3. Вам действительно нужно только использовать один, поскольку, поскольку тот, который является родным ядром, не должен нуждаться в его объявлении.

В python2 записной книжке:

Cell1:

%%python3 
print("Hello world!") 

CELL2:

print "Hello world!" 
+0

Моя проблема заключается в том, что я использую python2 по всей записной книжке, но в камере, где я только нужно 'от __future__ import print_function'. Следующие ячейки в python2, которые используют «print» что-то «вместо» print («something»), возвращают ошибку. – Ale

+0

Спасибо. Итак, как я могу использовать 'from __future__ import print_function' в одной ячейке, не влияя на вычисление в других ячейках? – Ale

+0

Это превращается в совершенно другой вопрос. Возможно, просто примите этот полностью прекрасный ответ и создайте новый (если он еще не существует). Также спросите себя, стоит ли хлопотать, или если часть кода, которая вызывает проблемы, может потребовать удаления только некоторых круглых скобок или удаления объекта print_function – CodingYourLife