我安装了Anaconda(使用Python 2.7),并在一个名为的环境中安装了Tensorflow tensorflow.我可以在该环境中成功导入Tensorflow.
问题是Jupyter Notebook无法识别我刚刚创建的新环境.无论我从GUI导航或命令行启动Jupyter笔记本电脑内的tensorflowENV中,只有一个名为菜单内核Python [Root],并Tensorflow无法导入.当然,我多次点击该选项,保存文件,重新打开,但这些没有帮助.
奇怪的是,当我打开CondaJupyter首页上的标签时,我可以看到这两个环境.但是当我打开Files标签,并尝试new使用笔记本时,我仍然只有一个内核.
我看了这个问题:
用Jupyter Notebook链接Conda环境
但是~/Library/Jupyter/kernels我的电脑上没有这样的目录!这个Jupyter目录只有一个名为的子目录runtime.
我真的很困惑.Conda环境是否应该自动成为内核?(我跟着https://ipython.readthedocs.io/en/stable/install/kernel_install.html手动设置了内核,但被告知ipykernel没有找到.)
我使用IPython笔记本,并希望能够选择在IPython中创建2.x或3.x python笔记本.
我最初有Anaconda.使用Anaconda时,必须更改全局环境变量以选择所需的python版本,然后才能启动IPython.这不是我想要的,所以我卸载了Anaconda,现在已经使用MacPorts和PiP设置了我自己的安装.看来我还是要用
port select --set python <python version>
Run Code Online (Sandbox Code Playgroud)
在python 2.x和3.x之间切换.这并不比蟒蛇解决方案好.
有没有办法在启动IPython笔记本后选择要使用的python版本,最好是使用我当前的MacPorts构建?
我正在努力为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) 我讨厌distutils的一件事(我猜他是这样做的邪恶者)是它改变了shebang线.换句话说,更合理的环境变量决定了经文
#!/usr/bin/env python
Run Code Online (Sandbox Code Playgroud)
神奇地转换成了
#!/whatever/absolute/path/is/my/python
Run Code Online (Sandbox Code Playgroud)
这也可以用grok看到:我在virtualenv中使用了grokproject来启动我的项目,但是现在我不能再将开发目录移动了,因为它在shebang指令中放置了绝对路径.
我之所以这样问是双重的
我正在使用选择了Python 3的Jupyter笔记本.在我进入的单元格的第一行:
import pandas as pd
Run Code Online (Sandbox Code Playgroud)
我从笔记本中得到的错误是,ImportError:没有名为'pandas'的模块.如何在jupyter笔记本上安装pandas?我推出的Jupyter笔记本电脑肯定有熊猫.
我试过做:
!pip install pandas
Run Code Online (Sandbox Code Playgroud)
它说它已经安装但底部是Python 2.7.我的脚本显示它是顶部的Python 3脚本.
当我在Ubuntu中回显$ PATH时,显示'/ home/user/anaconda2/bin'在第一个条目上.我想我可能需要将其更改为anaconda3?
更新:当我尝试通过jupyter启动Python3脚本时,启动Jupyter的命令行给出了错误"ImportError:没有名为'IPython.paths'的模块.然后有超时等待'kernel_info'回复.另外,我尝试过删除anaconda但仍然遇到同样的错误.我现在尝试做了这么多快速修复,我不确定下一步是什么让这个工作.
我想学习如何使用Jupyter Notebook.到目前为止,我已经设法下载并安装它(使用pip),但是我无法打开它.
我打开它打开它:
jupyter notebook
Run Code Online (Sandbox Code Playgroud)
在我的终端.它在我的浏览器中打开,其中包含以下URL:
http://localhost:8888/tree
Run Code Online (Sandbox Code Playgroud)
我得到一个大的:
500 : Internal Server Error
Run Code Online (Sandbox Code Playgroud)
信息.有人能指出我出错的方向吗?
我的终端中的完整错误消息:
[E 17:53:52.034 NotebookApp] Uncaught exception GET /tree (::1)
HTTPServerRequest(protocol='http', host='localhost:8888', method='GET', uri='/tree', version='HTTP/1.1', remote_ip='::1', headers={'Accept-Language': 'en-US,en;q=0.8,es;q=0.6', 'Accept-Encoding': 'gzip, deflate, sdch', 'Host': 'localhost:8888', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36', 'Connection': 'keep-alive', 'Upgrade-Insecure-Requests': '1'})
Traceback (most recent call last):
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tornado/web.py", line 1443, in _execute
result = method(*self.path_args, **self.path_kwargs)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tornado/web.py", line 2800, in wrapper
return method(self, …Run Code Online (Sandbox Code Playgroud) 它说这是一个默认环境,但“尽管如此,您不想将程序放入您的基本环境中”
那么我到底应该用它做什么呢?我创建的其他环境是否继承自基础?
我是一个ubuntu 16.4用户,我安装了anaconda3并同时使用python2和python3内核.
>>> jupyter kernelspec list可用的内核:python2 /home/peterkim/.local/share/jupyter/kernels/python2 python3/home/peterkim/anaconda3/share/jupyter/kernels/python3
和..问题是,我不知道在哪里/如何安装包,以便我的python2 jupyter笔记本不会出错"没有模块命名...".我试过了pip install matplotlib,conda install matplotlib并且还将'/ home // anaconda2/pkgs'附加到了sys.path.
(我还安装了anaconda2以寻找使用并行内核的方式.之后我意识到不需要anaconda2.但我没有卸载它.)
谢谢你提前帮助我..!
TL/DR:是否真的没有办法只告诉jupyter console在某些 conda 环境中运行,而不首先在该环境中不必要地安装(并因此依赖)Jupyter?
我确实试图让这看起来不完全像咆哮......我希望你看到这里有一个实际的问题。
似乎让 Jupyter 在 conda 环境中工作需要
我觉得这有点令人惊讶,因为我不认为 Jupyter 作为项目的要求,而只是作为另一个编辑器/IDE 之类的东西,利用环境。Conda 的目的是管理可重现的依赖关系;Jupyter 应该是在我告诉它的环境中解释代码。由于我想将environment.yml存储在git中并与其他人共享,因此我认为要求他们安装Jupyter没有任何意义;他们甚至可能不会使用它。
然而,它似乎根本不是这样工作的。感觉就像当我想使用 Emacs 来利用环境时,我必须在每个环境中安装一个“emacskernel”包。事情不是这样的。
我想要的是有一个全局安装的 Jupyter,它可以指向不同的环境 - 类似于 Julia REPL 的工作方式julia --project=...(是的,我知道 conda 不是内置的语言包管理器,但是你应该明白这个类比......)。(如果 conda 环境“继承”,即回退到“全局环境”以查找未找到的依赖项,那么这会起作用,并且您可以只使用每个环境中的全局 Jupyter;但据我了解,它们不这样做? )
这有可能吗?我缺少什么?有没有更好的替代方案提供全球 Jupyter + 本地环境?(我必须承认我从未使用过 virtualenv 之类的东西......)
(这个较旧的问题似乎涵盖了 pipelinev 的相同主题,但那里没有真正的答案......既没有明确的NO,也没有解释原因。)
在Python 3.8.15的conda环境中我做了
pip install ultralytics
成功安装...,ultralytics-8.0.4
但运行时from ultralytics import YOLO,它说
ModuleNotFoundError:没有名为“ultralytics”的模块
我正在使用Anaconda来管理Python和Jupyter。那是:
>> which python
>> /home/.../software/anaconda3/bin/python
Run Code Online (Sandbox Code Playgroud)
和
>> which jupyter
>> /home/.../software/anaconda3/bin/jupyter
Run Code Online (Sandbox Code Playgroud)
但是Jupyter的python内核似乎指向的是系统版本的Python,而不是Anaconda的本地版本,因为sys.pathJupyter Python 3笔记本中的有所不同。另外,jupyter kernelspec list给出以下内容:
Available kernels:
ir /usr/local/share/jupyter/kernels/ir
matlab /usr/local/share/jupyter/kernels/matlab
python3 /usr/local/share/jupyter/kernels/python3
Run Code Online (Sandbox Code Playgroud)
由于文档在1.5.5节中说过,所以这似乎并不完全令人惊讶:
默认情况下,内核规范将位于系统范围内的位置(例如/ usr / local / share / jupyter / kernels)。如果执行--user安装,则内核规范将位于JUPYTER_DATA_DIR位置。
为了个人理智和组织,我希望在命令行中使用的Python版本与Jupyter中访问的版本相同。结果,我认为我应该做的是更改python3的jupyter kernelspec列表,使其指向我想要的Anaconda python版本,即/home/.../software/anaconda3/bin/python。我的问题是:1)确实是我陈述的首选项的最佳解决方案,2)我实际上如何更改python3的jupyter kernelspec条目?不知道是否会出现这种情况,但是我不想使用虚拟环境-我希望命令行和Jupyter的默认版本都是相同的Python版本。
使用 Python,我可以通过将另一个 Jupyter 笔记本作为模块直接导入到一个新笔记本(在 Anaconda 中)或使用nbpackage.
这可以用 Julia Jupyter 笔记本完成吗?如何将功能从一个笔记本导入到另一个?
我使用以下代码通过 conda 下载了 osmnx:
\n\nconda config --prepend channels conda-forge\nconda create -n ox --strict-channel-priority osmnx\nRun Code Online (Sandbox Code Playgroud)\n\n这来自 osmnx 文档:https://osmnx.readthedocs.io/en/stable/
\n\n我可以看到该模块已下载,因为在 Anaconda Prompt 中我可以输入conda activate ox并且它可以工作。然而,当我进入我的 jupyter 笔记本并输入
import osmnx as ox\nRun Code Online (Sandbox Code Playgroud)\n\n我收到以下错误:
\n\n\xe2\x80\x8b
\n\n---------------------------------------------------------------------------\nModuleNotFoundError Traceback (most recent call last)\n<ipython-input-11-7e05e48535cd> in <module>\n----> 1 import osmnx as ox\n 2 \n 3 \n\nModuleNotFoundError: No module named \'osmnx\'\nRun Code Online (Sandbox Code Playgroud)\n\n请告知我能做什么。谢谢
\n