典型地,一个运行jupyter notebook或jupyter-notebook或ipython notebook在终端局部地启动一个Jupyter笔记本网络服务器(和打开的浏览器中的URL)。使用conda
和conda 环境时,运行允许导入安装在 conda 环境中的 Python 模块的 Jupyter notebook 的最佳方法是什么?
因为它似乎,这 是 不是 很 直 向前 并 不少 用户 都有 类似的 烦恼。
最常见的错误信息似乎是:在康达环境中安装包后,XYZ
my-env一个可以运行import XYZ在开始一个python控制台my-env中,但在运行相同的代码Jupyter笔记本将导致一个ImportError。
这个问题已经问过很多次了,但是没有很好的地方来回答它,大多数问答和Github门票都很混乱,所以让我们在这里开始新的问答。
我想在Jupyter笔记本中执行一个长期运行的Python脚本,这样我就可以破解中期生成的数据结构.
该脚本具有许多依赖项和命令行参数,并使用特定的virtualenv执行.是否可以从指定的virtualenv(与Jupyter安装的不同)交互式地在笔记本中运行Python脚本?
谢谢!
我一直在使用这篇文章中描述的方法来设置IPython笔记本,以便与Django很好地配合.该方法的要点是创建一个IPython扩展,它设置DJANGO_SETTINGS_MODULE并在IPython启动时运行django.setup().
扩展的代码是:
def load_ipython_extension(ipython):
# The `ipython` argument is the currently active `InteractiveShell`
# instance, which can be used in any way. This allows you to register
# new magics or aliases, for example.
try:
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")
import django
django.setup()
except ImportError:
pass
Run Code Online (Sandbox Code Playgroud)
随着最近升级到Jupyter笔记本电脑,这个设置现在已经打破了.我可以通过在笔记本的第一个单元格中添加类似的代码来在Jupyter笔记本中运行Django代码.但是,我无法弄清楚如何让Jupyter自动运行扩展程序,因此我不必为我正在创建的每个笔记本再次执行此操作.
我该怎么办才能让Django和Jupyter玩得很好?
更新: 对于@DarkLight - 我使用Django 1.8.5与Jupyter 1.0.0.我在笔记本中运行的代码是:
import os, sys
sys.path.insert(0, '/path/to/project')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settingsfile")
import django
django.setup()
Run Code Online (Sandbox Code Playgroud) 我正在使用firefox的jupyter(或Ipython)笔记本,并希望在单元格中调试一些python代码.我正在使用'import ipdb; ipdb.set_trace()'作为一种断点,例如我的单元格具有以下代码:
a=4
import ipdb; ipdb.set_trace()
b=5
print a
print b
Run Code Online (Sandbox Code Playgroud)
用Shift + Enter执行后给出了这个错误:
--------------------------------------------------------------------------
MultipleInstanceError Traceback (most recent call last)
<ipython-input-1-f2b356251c56> in <module>()
1 a=4
----> 2 import ipdb; ipdb.set_trace()
3 b=5
4 print a
5 print b
/home/nnn/anaconda/lib/python2.7/site-packages/ipdb/__init__.py in <module>()
14 # You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
15
---> 16 from ipdb.__main__ import set_trace, post_mortem, pm, run, runcall, runeval, launch_ipdb_on_exception
17
18 …Run Code Online (Sandbox Code Playgroud) 我在使用Python 3.4.2 的Jupyter Notebook服务器(v4.2.2)上,我想使用全局名称__file__,因为笔记本将从其他用户克隆,并且我必须运行一个部分:
def __init__(self, trainingSamplesFolder='samples', maskFolder='masks'):
self.trainingSamplesFolder = self.__getAbsPath(trainingSamplesFolder)
self.maskFolder = self.__getAbsPath(maskFolder)
def __getAbsPath(self, path):
if os.path.isabs(path):
return path
else:
return os.path.join(os.path.dirname(__file__), path)
Run Code Online (Sandbox Code Playgroud)
的__getAbsPath(self, path)检查是否一个path参数是相对或绝对路径和返回的绝对版本path.所以我可以path稍后安全地使用.
但是我得到了错误
NameError:
'__file__'未定义名称
我在网上搜索了这个错误并找到了我应该更好地使用的"解决方案" sys.argv[0],但是print(sys.argv[0])返回了
/usr/local/lib/python3.4/dist-packages/ipykernel/__main__.py
但正确的笔记本位置应该是/home/ubuntu/notebooks/.
感谢您的参考如何从Martijn Pieters 获取当前的IPython Notebook名称(评论),最后的答案(不接受)非常适合我的需求:
print(os.getcwd())
/家庭/ Ubuntu的电脑/笔记本电脑
有没有办法在Jupyter笔记本上使用pipenv?
或者更具体地说,使用原子nteract /氢python 3内核?
我正在使用 jupyter 笔记本并安装。
ipywidgets==7.4.2 widgetsnbextension pandas-profiling=='.0.0
Run Code Online (Sandbox Code Playgroud)
我也跑了:
!jupyter nbextension enable --py widgetsnbextension
Run Code Online (Sandbox Code Playgroud)
但运行时:
from pandas_profiling import ProfileReport
profile = ProfileReport(df, title="Pandas Profiling Report", explorative=True)
profile.to_widgets()
Run Code Online (Sandbox Code Playgroud)
我收到错误:
ImportError: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html
Run Code Online (Sandbox Code Playgroud)
知道为什么吗?尝试了建议的解决方案。
因为我正试图在我的mac上安装jupyter,所以我升级了我的点子.它向我展示了一切都很好,但后来我注意到了这一点:
Requirement already up-to-date: pip in /Library/Python/2.7/site-packages/pip-10.0.0b2-py2.7.egg (10.0.0b2)
matplotlib 1.3.1 requires nose, which is not installed.
matplotlib 1.3.1 requires tornado, which is not installed.
matplotlib 1.3.1 has requirement numpy>=1.5, but you'll have numpy 1.8.0rc1 which is incompatible.
Run Code Online (Sandbox Code Playgroud)
这是什么意思?即使我没有numphy> = 1.5,我的matplotlib也能正常工作吗?
我尝试修复它像建议matplotlib 1.3.1有要求numpy> = 1.5,但你会有numpy 1.8.0rc1这是不兼容但它不起作用:
sudo -H pip install numphy
Password:
Requirement already satisfied: numphy in /Library/Python/2.7/site-packages (0.0.1)
matplotlib 1.3.1 requires nose, which is not installed.
matplotlib 1.3.1 requires tornado, which is not installed.
matplotlib 1.3.1 has requirement …Run Code Online (Sandbox Code Playgroud) 我在ubuntu机器上安装了tensorflow docker容器.tensorflow docker 设置说明指定:
docker run -it b.gcr.io/tensorflow/tensorflow
Run Code Online (Sandbox Code Playgroud)
这使我进入docker容器终端,我可以运行python并执行Hello World示例.我也可以手动运行.\ run_jupyter.sh来启动jupyter笔记本.但是,我无法从主机到达笔记本电脑.
如何启动jupyter笔记本,以便我可以使用主机上的笔记本电脑?理想情况下,我想使用docker启动容器并在单个命令中启动jupyter.
我正在努力为python做一些科学的东西设置一个良好的环境.为此,我安装了Jupyter和miniconda.
然后我希望能够拥有不同的环境,并将它们与Jupyter笔记本一起使用.所以我用conda创建了两个自定义env:py27和py35.
> conda env list
# conda environments:
#
py27 /Users/***/miniconda3/envs/py27
py35 /Users/***/miniconda3/envs/py35
root * /Users/***/miniconda3
Run Code Online (Sandbox Code Playgroud)
然后在我的笔记本上我有两个内核python 2和python 3.在笔记本内部,我使用python3内核获得以下内容:
> import sys
> print(sys.executable)
/Users/***/miniconda3/envs/py35/bin/python
Run Code Online (Sandbox Code Playgroud)
这与python2内核:
> import sys
> print(sys.executable)
/usr/local/opt/python/bin/python2.7
Run Code Online (Sandbox Code Playgroud)
sys.executable为python2的miniconda env?source activate py35一个链接jupyter notebook吗?我想我真的错过了什么.
谢谢大家.
---编辑
我有多个jupyter bin:
> where jupyter
/usr/local/bin/jupyter
/usr/local/bin/jupyter
/Users/ThomasDehaeze/miniconda3/bin/jupyter
Run Code Online (Sandbox Code Playgroud)
我这里只有一个内核/usr/local/share/jupyter/kernels/python2.但在Jupyter里面,我有两个内核,python2而且python3.我在哪里可以找到另一个?
我修改kernel.json自/usr/local/share/jupyter/kernels/python2:
{
"display_name": "Python 2",
"language": "python", …Run Code Online (Sandbox Code Playgroud) jupyter ×10
python ×5
ipython ×2
python-3.x ×2
cell ×1
conda ×1
debugging ×1
django ×1
docker ×1
ipdb ×1
ipywidgets ×1
matplotlib ×1
miniconda ×1
pandas ×1
path ×1
pip ×1
pipenv ×1
tensorflow ×1
virtualenv ×1