在 Windows 上使用 Anaconda 设置 Hydrogen 和 Atom
Setting up Hydrogen and Atom with Anaconda on Windows
我想 运行 python 使用 Hydrogen 包在 ATOM 中进行交互。我在 Windows 10。我希望能够通过双击工具栏中的 ATOM 图标或双击 .py 文件来启动 ATOM 会话,而不必通过命令启动 ATOM线。我已经通过 Anaconda 发行版安装了 Python 3.8。我已经使用 pip install 安装了 ipykernel。
我收到一系列似乎很常见的回溯错误;
Traceback (most recent call last): File "C:\Users\BRB\anaconda3\lib\runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "C:\Users\BRB\anaconda3\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "C:\Users\BRB\anaconda3\lib\site-packages\ipykernel_launcher.py", line 15, in from ipykernel import kernelapp as app File "C:\Users\BRB\anaconda3\lib\site-packages\ipykernel__init__.py", line 2, in from .connect import File "C:\Users\BRB\anaconda3\lib\site-packages\ipykernel\connect.py", line 18, in import jupyter_client File "C:\Users\BRB\anaconda3\lib\site-packages\jupyter_client__init__.py", line 4, in from .connect import File "C:\Users\BRB\anaconda3\lib\site-packages\jupyter_client\connect.py", line 21, in import zmq File "C:\Users\BRB\anaconda3\lib\site-packages\zmq__init__.py", line 47, in from zmq import backend File "C:\Users\BRB\anaconda3\lib\site-packages\zmq\backend__init__.py", line 40, in reraise(*exc_info) File "C:\Users\BRB\anaconda3\lib\site-packages\zmq\utils\sixcerpt.py", line 34, in reraise raise value File "C:\Users\BRB\anaconda3\lib\site-packages\zmq\backend__init__.py", line 27, in _ns = select_backend(first) File "C:\Users\BRB\anaconda3\lib\site-packages\zmq\backend\select.py", line 28, in select_backend mod = import(name, fromlist=public_api) File "C:\Users\BRB\anaconda3\lib\site-packages\zmq\backend\cython__init__.py", line 6, in from . import (constants, error, message, context, ImportError: DLL load failed while importing error: The specified module could not be found.
我尝试过的事情:
- 我首先将 Python3 可执行文件添加到系统 PATH(违背 Anaconda 的建议)。如果我通过命令行启动 ATOM,这确实有效,但如果我双击 ATOM 图标或 .py 文件,我会得到通常的回溯错误。
这个答案 https://discuss.atom.io/t/solved-how-to-use-the-hydrogen-package/30190 说这是旧版本 Atom 上 macOS 机器上 Atom 的问题,但此后已针对 macOS 进行了更正。答案是 4 年前的,所以我认为它已针对 Windows 进行了更正,但我找不到解决方案。
这个回答Setting up Hydrogen and Atom with Anaconda managing python installation
对 (A) 运行:
说
conda 激活 myenv
python -m ipykernel 安装 --user
和 (B) 清理 PATH。
这两件事我都做过。从 PATH 中删除 Python3 可执行文件是一种倒退。现在它甚至无法从命令行运行。我也不明白为什么这在一开始就很糟糕...
- 这家伙Atom: Setting up Hydrogen Launcher for use with Python 3.7也有同样的问题。但无解。
有人能给我指出正确的方向吗?
我比较新,所以不想在这个阶段通过设置多个虚拟环境等使事情复杂化(我还没有需要,我想要简单的)。
我广泛使用 Atom + Hydrogen。无论 python 版本是什么,如果它使用 Anaconda、Miniconda 或只是 python,它都是有效的。 请不要乱动系统环境PATH.
也许您对哪个python可执行文件是哪个感到困惑。或者, 是 Atom.exe 和 Hydrogen 使用相同版本、相同路径的 python 可执行文件?
Atom 东西
我确定 Atom.exe 使用系统范围或虚拟环境中存在的默认 python 版本。如果您 运行 Atom.exe 没有来自终端的虚拟环境,或者只是双击桌面上的图标,Atom.exe 将使用系统中可用的 python。
但是如果你运行Atom.exe从虚拟环境激活terminal/cmd,那么Atom.exe将使用虚拟环境中可用的python .
为什么重要? 如果您使用 Atom.exe 包,例如 python-import-magic,Atom.exe 会要求您提供一个python 包名为 isort
。如果您在名为 work
的虚拟环境中安装 isort
,Atom.exe 将始终告诉您 isort
不可用,除非您从 [=] 启动 Atom.exe 20=]虚拟环境。
那我是不是应该从虚拟环境激活的终端启动Atom.exe?我觉得这不是个好主意
氢元素
无论安装了多少 python 或创建了多少虚拟环境,Hydrogen 都将使用 python 个可执行文件的 installed/registered 个内核。例如,我安装了几个 python 版本(是的,对不起,我不使用 pipenv)位于:
- python37 在 D:\python\python37\python.exe
- python38 在 D:\python\python38\python.exe
然后我想将 Hydrogen 与使用 python37 的内核一起使用,我应该安装内核 一次 :
D:\python\python37\python.exe -m ipykernel install --name "python37_something"
或者如果我需要 python38
D:\python\python38\python.exe -m ipykernel install --name "python38_something"
或者我只想安装一个内核,其中 python 在系统范围内可用:
python.exe -m ipykernel install --name "python_for_the_win"
之后,安装的内核将出现在 Hydrogen(甚至 Jupyter Notebook/Lab)内核选择中。屏幕截图如下。
但是如果我使用虚拟环境呢? 只需切换到虚拟环境并安装内核即可。例如,如果我想使用名为 work
的虚拟环境与 Hydrogen,我应该在第一次激活虚拟环境并安装内核一次:
workon work
python -m ipykernel install --name "work_venv"
或者如果您使用的是 conda:
conda activate work
python -m ipykernel install --name "work_env"
work
虚拟环境将出现在 Hydrogen 内核选择中。这里以我安装的内核为例:
重要的是,你应该用--name
参数命名安装的ipykernel,然后选择一个更有意义的名字,比如work
、flask development
或任何你喜欢的名字,但不是 python
或 python3
。 --user
参数取决于您的需要。
为什么我不能使用 'python' 或 'python3' 作为内核名称?
如果你坚持运行:
python -m ipykernel install --name "python"
或
python -m ipykernel install --name "python3"
甚至来自 official nteract page 的指令:
python -m ipykernel install
无论是否来自虚拟环境,都会安装内核,但内核的位置会因虚拟环境或系统路径而异python。请看看我的截图。
后面的终端没有激活虚拟环境,前面的终端使用的是名为work
的虚拟环境。当我从两个终端 运行 jupyter kernelspec list
时,列出了所有已安装的内核,并且它们的文件路径在两个终端上都是相同的。 除了python3
,我不知道为什么,但似乎python
或python3
是ipykernel
的默认名称s 内核以及安装没有名称的内核时。
而且你不能从 Atom+Hydrogen 中选择 python3
到 运行 没有,MAYBE,运行ning atom.exe 从虚拟环境激活的终端。
奖金
你可能注意到在我上面的最后一个截图中,'domainopsy'和'javascript'被安装在C:\Users\faruq
目录下,这似乎是因为我在安装时通过了--user
内核,而 'gym' 和 'work' 不是。我认为,如果我使用其他用户名登录,'domainopsy' 和 'javascript' 将无法访问。
请原谅我的英语,本文是根据我的经验写的,所以如果我错了请指正。
我想 运行 python 使用 Hydrogen 包在 ATOM 中进行交互。我在 Windows 10。我希望能够通过双击工具栏中的 ATOM 图标或双击 .py 文件来启动 ATOM 会话,而不必通过命令启动 ATOM线。我已经通过 Anaconda 发行版安装了 Python 3.8。我已经使用 pip install 安装了 ipykernel。
我收到一系列似乎很常见的回溯错误;
Traceback (most recent call last): File "C:\Users\BRB\anaconda3\lib\runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "C:\Users\BRB\anaconda3\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "C:\Users\BRB\anaconda3\lib\site-packages\ipykernel_launcher.py", line 15, in from ipykernel import kernelapp as app File "C:\Users\BRB\anaconda3\lib\site-packages\ipykernel__init__.py", line 2, in from .connect import File "C:\Users\BRB\anaconda3\lib\site-packages\ipykernel\connect.py", line 18, in import jupyter_client File "C:\Users\BRB\anaconda3\lib\site-packages\jupyter_client__init__.py", line 4, in from .connect import File "C:\Users\BRB\anaconda3\lib\site-packages\jupyter_client\connect.py", line 21, in import zmq File "C:\Users\BRB\anaconda3\lib\site-packages\zmq__init__.py", line 47, in from zmq import backend File "C:\Users\BRB\anaconda3\lib\site-packages\zmq\backend__init__.py", line 40, in reraise(*exc_info) File "C:\Users\BRB\anaconda3\lib\site-packages\zmq\utils\sixcerpt.py", line 34, in reraise raise value File "C:\Users\BRB\anaconda3\lib\site-packages\zmq\backend__init__.py", line 27, in _ns = select_backend(first) File "C:\Users\BRB\anaconda3\lib\site-packages\zmq\backend\select.py", line 28, in select_backend mod = import(name, fromlist=public_api) File "C:\Users\BRB\anaconda3\lib\site-packages\zmq\backend\cython__init__.py", line 6, in from . import (constants, error, message, context, ImportError: DLL load failed while importing error: The specified module could not be found.
我尝试过的事情:
- 我首先将 Python3 可执行文件添加到系统 PATH(违背 Anaconda 的建议)。如果我通过命令行启动 ATOM,这确实有效,但如果我双击 ATOM 图标或 .py 文件,我会得到通常的回溯错误。
这个答案 https://discuss.atom.io/t/solved-how-to-use-the-hydrogen-package/30190 说这是旧版本 Atom 上 macOS 机器上 Atom 的问题,但此后已针对 macOS 进行了更正。答案是 4 年前的,所以我认为它已针对 Windows 进行了更正,但我找不到解决方案。
这个回答Setting up Hydrogen and Atom with Anaconda managing python installation 对 (A) 运行:
说conda 激活 myenv python -m ipykernel 安装 --user
和 (B) 清理 PATH。
这两件事我都做过。从 PATH 中删除 Python3 可执行文件是一种倒退。现在它甚至无法从命令行运行。我也不明白为什么这在一开始就很糟糕...
- 这家伙Atom: Setting up Hydrogen Launcher for use with Python 3.7也有同样的问题。但无解。
有人能给我指出正确的方向吗?
我比较新,所以不想在这个阶段通过设置多个虚拟环境等使事情复杂化(我还没有需要,我想要简单的)。
我广泛使用 Atom + Hydrogen。无论 python 版本是什么,如果它使用 Anaconda、Miniconda 或只是 python,它都是有效的。 请不要乱动系统环境PATH.
也许您对哪个python可执行文件是哪个感到困惑。或者, 是 Atom.exe 和 Hydrogen 使用相同版本、相同路径的 python 可执行文件?
Atom 东西
我确定 Atom.exe 使用系统范围或虚拟环境中存在的默认 python 版本。如果您 运行 Atom.exe 没有来自终端的虚拟环境,或者只是双击桌面上的图标,Atom.exe 将使用系统中可用的 python。
但是如果你运行Atom.exe从虚拟环境激活terminal/cmd,那么Atom.exe将使用虚拟环境中可用的python .
为什么重要? 如果您使用 Atom.exe 包,例如 python-import-magic,Atom.exe 会要求您提供一个python 包名为 isort
。如果您在名为 work
的虚拟环境中安装 isort
,Atom.exe 将始终告诉您 isort
不可用,除非您从 [=] 启动 Atom.exe 20=]虚拟环境。
那我是不是应该从虚拟环境激活的终端启动Atom.exe?我觉得这不是个好主意
氢元素
无论安装了多少 python 或创建了多少虚拟环境,Hydrogen 都将使用 python 个可执行文件的 installed/registered 个内核。例如,我安装了几个 python 版本(是的,对不起,我不使用 pipenv)位于:
- python37 在 D:\python\python37\python.exe
- python38 在 D:\python\python38\python.exe
然后我想将 Hydrogen 与使用 python37 的内核一起使用,我应该安装内核 一次 :
D:\python\python37\python.exe -m ipykernel install --name "python37_something"
或者如果我需要 python38
D:\python\python38\python.exe -m ipykernel install --name "python38_something"
或者我只想安装一个内核,其中 python 在系统范围内可用:
python.exe -m ipykernel install --name "python_for_the_win"
之后,安装的内核将出现在 Hydrogen(甚至 Jupyter Notebook/Lab)内核选择中。屏幕截图如下。
但是如果我使用虚拟环境呢? 只需切换到虚拟环境并安装内核即可。例如,如果我想使用名为 work
的虚拟环境与 Hydrogen,我应该在第一次激活虚拟环境并安装内核一次:
workon work
python -m ipykernel install --name "work_venv"
或者如果您使用的是 conda:
conda activate work
python -m ipykernel install --name "work_env"
work
虚拟环境将出现在 Hydrogen 内核选择中。这里以我安装的内核为例:
重要的是,你应该用--name
参数命名安装的ipykernel,然后选择一个更有意义的名字,比如work
、flask development
或任何你喜欢的名字,但不是 python
或 python3
。 --user
参数取决于您的需要。
为什么我不能使用 'python' 或 'python3' 作为内核名称?
如果你坚持运行:
python -m ipykernel install --name "python"
或
python -m ipykernel install --name "python3"
甚至来自 official nteract page 的指令:
python -m ipykernel install
无论是否来自虚拟环境,都会安装内核,但内核的位置会因虚拟环境或系统路径而异python。请看看我的截图。
后面的终端没有激活虚拟环境,前面的终端使用的是名为work
的虚拟环境。当我从两个终端 运行 jupyter kernelspec list
时,列出了所有已安装的内核,并且它们的文件路径在两个终端上都是相同的。 除了python3
,我不知道为什么,但似乎python
或python3
是ipykernel
的默认名称s 内核以及安装没有名称的内核时。
而且你不能从 Atom+Hydrogen 中选择 python3
到 运行 没有,MAYBE,运行ning atom.exe 从虚拟环境激活的终端。
奖金
你可能注意到在我上面的最后一个截图中,'domainopsy'和'javascript'被安装在C:\Users\faruq
目录下,这似乎是因为我在安装时通过了--user
内核,而 'gym' 和 'work' 不是。我认为,如果我使用其他用户名登录,'domainopsy' 和 'javascript' 将无法访问。
请原谅我的英语,本文是根据我的经验写的,所以如果我错了请指正。