jupyter notebook running kernel in different env
我让自己陷入了某种可怕的虚拟环境混乱。帮助?!
我使用
我的主要(Python)Python默认为2.7。
所以,我在这里,愉快地尝试着从我闪亮的新python3内核中使用美丽的汤,我似乎无法在任何环境中找到包装。VIZ(全部来自笔记本电脑):
1 2 3 | from bs4 import BeautifulSoup -> ImportError: No module named 'bs4' |
好的,好的,我会用Shell Magic安装它。正确的?对吗?
1 2 3 4 5 6 7 8 9 10 11 12 13 | ! 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' |
哦,不。即使我运行的是python3内核,它是否认为我处于2.7环境中?那不行。
1 2 3 4 5 6 7 | ! 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 * /Users/[MY-USER]/anaconda |
好的,我可以解决这个问题。其中之一是3.5环境。
1 2 3 4 5 6 7 8 9 10 11 | ! source activate py35 --> prepending /Users/[MY-USER]/anaconda/envs/py35/bin to PATH ! conda install beautifulsoup4 --> Fetching package metadata ....... Solving package specifications: .......... # All requested packages already installed. # packages in environment at /Users/[MY-USER]/anaconda: # beautifulsoup4 4.4.1 py27_0 |
关于…
1 2 | ! pip install bs4 --> Requirement already satisfied (use --upgrade to upgrade): bs4 in /Users/[MY-USER]/anaconda/lib/python2.7/site-packages |
更多关于……
1 2 3 | from bs4 import BeautifulSoup -> ImportError: No module named 'bs4' |
阿格!!!!为了解决这个问题(并重新运行一点工作),我是否需要终止内核?杀掉内核还能起作用吗?如何让我的jupyter内核知道它应该在什么环境下运行?
谢谢!
这是伊皮顿/朱彼特的一个棘手的部分。可用的内核集与启动Jupyter笔记本时的virtualenv无关。诀窍是在您希望唯一标识自己的环境中设置ipykernel包。从多个ipykernels上的文档,
1 2 3 | source activate ENVNAME pip install ipykernel python -m ipykernel install --user --name ENVNAME --display-name"Python (whatever you want to call it)" |
如果您只想在Conda环境中拥有一个单独的python 3内核,只需使用
是的,您需要重新启动内核并重新运行前面的步骤。
另请参见在IPython笔记本中同时使用python 2.x和python 3.x。
@如果已经创建了您的环境,tschundler的解决方案就可以完美地工作。
如果您想在创建虚拟环境时更改默认内核并避免任何手动配置,只需在conda命令末尾添加
当您使用ipython或jupyter笔记本时,将使用正确的内核。
这里还有一个简单的方法
1 2 3 | workon my-virtualenv-name # activate your virtualenv, if you haven't already pip install tornado==4.5.3 pip install ipykernel==4.8.2 |
现在,您应该能够在ipython笔记本菜单中看到内核:kernel->change kernel,并能够切换到它(您可能需要在页面出现在列表中之前刷新页面)。从那时起,ipython将记住该笔记本使用哪个内核。
这对我很有用。来源
在我的例子中,Jupyter无法"选择"虚拟环境的python。所以我不得不编辑
在