Чтобы просмотреть установленные библиотеки в среде, я запускаю этот код в ячейке блокнота Jupyter Python:
%%bash
pip freeze
Это работает, но как условно выполнить этот код?
Это моя попытка:
from __future__ import print_function
from ipywidgets import interact, interactive, fixed, interact_manual
import ipywidgets as widgets
def f(x1):
if(x1 == True):
f2()
return x1
interact(f , x1 = False)
def f2():
%%bash
pip freeze
Но оценка ячейки выдает ошибку:
File "<ipython-input-186-e8a8ec97ab2d>", line 15
pip freeze
^
SyntaxError: invalid syntax
Для создания флажка я использую ipywidgets: https://github.com/ipython/ipywidgets
Обновление: запуск pip freeze
в check_call
возвращает 0 результатов:
Бег
%%bash
pip freeze
Возвращает установленные библиотеки, поэтому 0 неверно.
Правильно ли subprocess.check_call("pip freeze", shell=True)
?
Обновление 2:
Это работает :
from __future__ import print_function
from ipywidgets import interact, interactive, fixed, interact_manual
import ipywidgets as widgets
import subprocess
def f(View):
if(View == True):
f2()
interact(f , View = False)
def f2():
print(subprocess.check_output(['pip', 'freeze']))