我试过pprint,print前者只打印Unicode版本,后者不做漂亮的打印.
from sympy import symbols, Function
import sympy.functions as sym
from sympy import init_printing
init_printing(use_latex=True)
from sympy import pprint
from sympy import Symbol
x = Symbol('x')
# If a cell contains only the following, it will render perfectly.
(pi + x)**2
# However I would like to control what to print in a function,
# so that multiple expressions can be printed from a single notebook cell.
pprint((pi + x)**2)
Run Code Online (Sandbox Code Playgroud) 我正在研究Python笔记本,我希望将大量输入代码[输入] 打包成[*.PY]文件并从笔记本中调用这些文件.
我知道从Notebook运行[ .PY]文件的操作,并且命令因Linux或Windows而异.但是当我执行此操作并从笔记本执行[.PY]文件时,它无法识别笔记本中加载的任何现有库或变量(就像[ .PY]文件从零开始...).
有没有什么办法解决这一问题?
问题的一个可能的简化示例如下:
In[1]:
import numpy as np
import matplotlib.pyplot as plt
In[2]:
def f(x):
return np.exp(-x ** 2)
In[3]:
x = np.linspace(-1, 3, 100)
In[4]:
%run script.py
Run Code Online (Sandbox Code Playgroud)
" script.py "具有以下内容:
plt.plot(x, f(x))
plt.xlabel("Eje $x$",fontsize=16)
plt.ylabel("$f(x)$",fontsize=16)
plt.title("Funcion $f(x)$")
Run Code Online (Sandbox Code Playgroud)
我已经陷入了某种可怕的虚拟混乱.救命?!
我管理环境conda.直到最近,我才有了一个python2 jupyter笔记本内核,但我决定将自己踢到21世纪,并安装了一个python3内核; 我忘了我是怎么做到的.
我的主要(anaconda)python默认为2.7.
所以在这里,我很乐意尝试在我的闪亮的新python3内核中使用美丽的汤,我似乎无法做任何事情来找到它所在的任何环境.Viz(全部来自笔记本):
from bs4 import BeautifulSoup
-> ImportError: No module named 'bs4'
Run Code Online (Sandbox Code Playgroud)
好的,好的,我将使用shell magic安装它.对?对?
! pip install bs4
--> Collecting bs4
Downloading bs4-0.0.1.tar.gz
Requirement already satisfied (use --upgrade to upgrade): beautifulsoup4 in /Users/[MY-USER]/anaconda/lib/python2.7/site-packages (from bs4)
[...]
Successfully built bs4
Installing collected packages: bs4
Successfully installed bs4-0.0.1
from bs4 import BeautifulSoup
-> ImportError: No module named 'bs4'
Run Code Online (Sandbox Code Playgroud)
不好了.即使我正在运行python3内核,它是否认为我在2.7 env?那不行.
! conda info --envs
--> # conda environments:
#
flaskenv /Users/[MY-USER]/anaconda/envs/flaskenv
mesa /Users/[MY-USER]/anaconda/envs/mesa
py35 /Users/[MY-USER]/anaconda/envs/py35
root …Run Code Online (Sandbox Code Playgroud) 我想和Jupyter笔记本一起工作,但是在进行基本导入时遇到了困难(例如导入matplotlib).我想这是因为我有几个用户管理的python安装.例如:
> which -a python
/usr/bin/python
/usr/local/bin/python
> which -a ipython
/Library/Frameworks/Python.framework/Versions/3.5/bin/ipython
/usr/local/bin/ipython
> which -a jupyter
/Library/Frameworks/Python.framework/Versions/3.5/bin/jupyter
/usr/local/bin/jupyter
Run Code Online (Sandbox Code Playgroud)
我曾经有过anaconda,但是从〜/ anaconda目录中删除了.现在,当我启动一个Jupyter笔记本时,我得到一个内核错误:
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/pytho?n3.5/subprocess.py",
line 947, in init restore_signals, start_new_session)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/pytho?n3.5/subprocess.py",
line 1551, in _execute_child raise child_exception_type(errno_num, err_msg)
FileNotFoundError: [Errno 2]
No such file or directory: '/Users/npr1/anaconda/envs/py27/bin/python'
Run Code Online (Sandbox Code Playgroud)
我该怎么办?!
我正在部署一个Python包,我想运行一个简单的测试,看看我的笔记本中的所有单元格是否都能正常运行.我想通过命令行测试这个,因为我在运行笔记本时遇到问题virtualenv.是否有简单的命令行方式来测试这个?
主持人注意:这个问题已被标记为如何从终端运行.ipynb Jupyter Notebook? .然而,这个问题是在那个问题的前几天(2016年2月18日2:49问)(16年2月22日3:35问).最多,该帖子可能被标记为重复,如果这样做,一个适当的行动将是合并这两个问题,保持这个,原始的,作为主.
但是,这些问题可能不重复(另一位作者的意图不清楚).无论如何,这个问题及其答案专门针对来自终端的jupyter笔记本中的执行单元,而不仅仅是将笔记本转换为python文件.
Jupyter(iPython)笔记本当之无愧地被认为是一个很好的工具,用于对代码进行原型设计并以交互方式进行各种机器学习.但是当我使用它时,我不可避免地遇到以下问题:
假设我在jupyter中开发了一个整机学习管道,包括从各种来源获取原始数据,清理数据,特征工程和培训模型.现在用高效可读的代码从中制作脚本的最佳逻辑是什么?到目前为止,我曾经用几种方法解决它:
只需将.ipynb转换为.py,只需稍加修改,就可以将笔记本中的所有管道硬编码为一个python脚本.
制作一个包含许多函数的单个脚本(对于每一个或两个单元格大约有1个函数),尝试使用单独的函数组成管道的各个阶段,并相应地命名它们.然后通过指定所有参数和全局常量argparse.
与point(2)相同,但现在将所有函数包装在类中.现在,所有全局常量以及每个方法的输出都可以存储为类属性.
使用多个脚本将笔记本转换为python模块.我没有试过这个,但我怀疑这是解决这个问题的最长方法.
我想,这种整体设置在数据科学家中非常普遍,但令人惊讶的是我无法找到任何有用的建议.
伙计们,请分享您的想法和经验.你有没有遇到过这个问题?你是怎么解决它的?
在Jupyter Notebook中,ipywidgets运行良好,但它们似乎在Jupyter Lab中不起作用(据说它比Notebook更好).
我遵循了这些指示.
第1步:安装Node.js(https://nodejs.org/en/)
第2步:使用conda在Python 3上安装了需求:
conda install -c conda-forge ipywidgets
jupyter labextension install @jupyter-widgets/jupyterlab-manager
Run Code Online (Sandbox Code Playgroud)
不幸的是,基本的小部件在jupyter实验室笔记本中不起作用:
有没有办法在Jupyter笔记本中绘制决策树,以便我可以交互式地探索它的节点?我在考虑这样的事情
.这是KNIME的一个例子.
我找到了https://planspace.org/20151129-see_sklearn_trees_with_d3/和https://bl.ocks.org/ajschumacher/65eda1df2b0dd2cf616f,我知道你可以在Jupyter中运行d3,但是我没有找到任何包,那样做.
在我的笔记本中,我有一个返回临时计算结果的单元格.它有点长,所以在它运行后,我想隐藏它,并在需要时显示它.
要手动完成,我可以双击输出的左侧,以隐藏它
但有什么方法可以通过代码来做到这一点?例如,
单元格的最后一行,使用类似的命令%%hide output,输出将在完成运行后隐藏.
另外,我可以在输出HTML中获得此功能吗?
我想知道是否可以sys.argv在jupyter/ipython笔记本中使用命令行参数填充(或其他一些结构),类似于通过python脚本完成的操作.
例如,如果我按如下方式运行python脚本:
python test.py False
然后sys.argv将包含参数False.但是,如果我以类似的方式运行一个jupyter笔记本:
jupyter notebook test.ipynb False
然后命令行参数丢失.有没有办法从笔记本本身访问这个参数?
python command-line-arguments jupyter jupyter-notebook papermill
jupyter ×10
python ×9
ipython ×4
command-line ×1
conda ×1
ipywidgets ×1
jupyter-lab ×1
packages ×1
papermill ×1
pretty-print ×1
readability ×1
refactoring ×1
scikit-learn ×1
sympy ×1