在 Windows 上通过命令行运行 Jupyter

Posted

技术标签:

【中文标题】在 Windows 上通过命令行运行 Jupyter【英文标题】:Running Jupyter via command line on Windows 【发布时间】:2017-04-23 10:10:24 【问题描述】:

我已经在 Windows 10、Python 3.x 上通过

安装了 Jupyter
$ pip install jupyter

安装工作正常,即使我确实重新启动了终端。

但试图运行

$ jupyter notebook

出现以下错误

'jupyter' is not recognized as an internal or external command, operable program or batch file.

如何以及在哪里找到 Jupyter 的可执行文件?

【问题讨论】:

【参考方案1】:

请先尝试以下任一命令;

$ py -m notebook
$ python -m notebook

对于 jupyterlab 用户

py -m jupyterlab

否则

$ python -m pip install jupyter --user
$ jupyter notebook

如果这不起作用。

pip 不会将 jupyter 直接添加到本地路径。

输出

$ which python
/c/Users/<username>/AppData/Local/Programs/Python/Python35-32/python

经过一番挖掘,我在文件夹中找到了 jupyter 的可执行文件:

C:\Users\<username>\AppData\Roaming\Python\Python35\Scripts\jupyter.exe

Difference between local and roaming folder

因此,如果您希望能够通过命令行执行程序,则需要将其添加到 %PATH 变量中。这是执行此操作的 powershell 脚本。请务必添加“;”在添加新路径之前。

$ [Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Users\<username>\AppData\Roaming\Python\Python35\Scripts", [EnvironmentVariableTarget]::User)

更新:

如果您使用的是python3,请将python 换成python3 但我鼓励你改用pyenv :)

【讨论】:

谢谢。几个月前我一直在寻找这个解决方案,但放弃了。最后,我发现它深深地埋在这里 非常感谢您的回答。我找到了Scripts 文件夹的路径并将其添加到我的环境变量中的路径中,这样就成功了。 我相信当您使用pip --user在本地安装时会发生这种情况 如果你用的是python3,写python3 -m notebook which 不是命令提示符或 Powershell 命令,因此您必须在 Git Bash 或其他东西中运行它。在命令提示符中,您可以改用 where【参考方案2】:

如果您绝对确定您的 Python 库路径在您的系统变量中(并且您可以在 pip 安装 Jupyter 时找到该路径,您只需阅读一下)并且您仍然遇到“找不到或无法识别命令” Windows中的错误,您可以尝试:

python -m notebook

至少对于我的 Windows(Windows 10 Pro),拥有python -m 是我可以从命令行运行我的 Python 包而不会遇到某种错误的唯一方法

Fatal error in launcher: Unable to create process using ' "

Errno 'THIS_PROGRAM' not found

【讨论】:

我用Ipython很多年了,第一次遇到这个问题。我认为(正如其他人所提到的)它与 Windows10 和运行 python -m notebook 有关!感谢您的解决方案。 这对我有用,但我不明白为什么jupyter notebook 命令不再起作用(在我在 Windows 10 上重新安装 python 后它停止工作) 对于 JupyterLab 使用 python -m jupyterlab python -m notebook 像魔法一样工作,感谢分享 虽然您的回答提供了解决方案,但并没有解释为什么会发生这种情况。我在这里回答了***.com/questions/41034866/…【参考方案3】:

如果您使用的是 Anaconda 发行版,请确保在安装它时选中“更改路径”选项。

【讨论】:

在 Windows 机器上安装 Anaconda 后:将 Python 位置添加到系统变量“Path”。使用Windows搜索找到系统编辑器更改PATH环境变量【输入整个路径,包括c:\&确保以“;”开头分隔符] 或使用命令行 "set path=%path%;C:\users\your-path-here\" ...现在您可以从任何命令提示符位置调用 Python。【参考方案4】:

我让 Jupyter notebook 在 Windows 10 中运行。我发现不依赖像 Anaconda 这样的发行版来完成这项任务的最简单方法是使用 Cygwin。

在 Cygwin 中安装 python2、python2-devel、python2-numpy、python2-pip、tcl、tcl-devel(我在下面包含了我安装的所有软件包的图片)以及您想要的任何其他可用的 python 软件包。这是迄今为止最简单的选择。

然后运行这个命令来安装 jupyter notebook:

python -m pip install jupyter

以下是我为添加更多库而运行的实际命令,以防其他人也需要此列表:

python -m pip install scipy

python -m pip install scikit-learn

python -m pip install sklearn

python -m pip install pandas

python -m pip install matplotlib

python -m pip install jupyter

如果上述任何命令失败,请不要担心解决方案在大多数情况下都非常简单。您所做的是查看任何缺少的包/库的构建失败。

假设它显示缺少 pyzmq 然后关闭 Cygwin,重新打开安装程序,进入包列表屏幕,显示“完整”,然后搜索 zmq 之类的名称并安装这些库并重新尝试以上命令。

使用这种方法,最终成功解决所有缺失的依赖项相当简单。

Cygwin package list

安装完所有内容后,在 Cygwin 中运行,转到您想成为笔记本 ui 树“根”的文件夹并键入:

jupyter notebook

这将启动笔记本并显示如下输出:

$ jupyter notebook
[I 19:05:30.459 NotebookApp] Serving notebooks from local directory: 
[I 19:05:30.459 NotebookApp] 0 active kernels
[I 19:05:30.459 NotebookApp] The Jupyter Notebook is running at: 
[I 19:05:30.459 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

Copy/paste this URL into your browser when you connect for the first time, to login with a token:

http://localhost:8888/?token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

【讨论】:

【参考方案5】:

我遇到了同样的问题,但是

py -m notebook

为我工作。

【讨论】:

【参考方案6】:

我的问题是我用户的文件夹在文件夹名称中有一个空格。

在创建新用户并切换到该 Windows 用户后,“Anaconda”中的 Windows 快捷方式和链接工作正常。

Windows 8.1 64 位。最新的 Anaconda。

注意:我最终卸载了重新安装的 Anaconda,但我的感觉是问题实际上只是 Windows 用户用户名/用户文件夹中的空间。

【讨论】:

【参考方案7】:

在 Windows 10 中,您可以使用 ipython notebook。它对我有用。

【讨论】:

[TerminalIPythonApp] WARNING | Subcommand 'ipython notebook' is deprecated and will be removed in future versions. SSL:ImportError: DLL load failed: The specified procedure could not be found.【参考方案8】:

您可以将以下内容添加到您的路径中

C:\[Python Installation path]\Scripts

例如C:\Python27\Scripts

它将开始为 jupyter 和您将在此处执行的所有其他 pip 安装工作。

【讨论】:

【参考方案9】:

使用 python 3.6.3。在通过命令“python -m pip install jupyter”安装 Jupyter 之后,使用 windows 命令提示符时,“jupyter notebook”命令对我不起作用。

但是,最后 'python -m notebook' 确实起作用并让 jupyter notebook 在本地运行。

http://localhost:8888/tree

【讨论】:

【参考方案10】:

这是我解决上述问题的方法,希望对您有所帮助:

    使用python官网安装python 3.7,安装时勾选安装PATH

    之后打开cmd(一定要在步骤1之后打开)并写:pip install jupyter ENTER

    现在您应该可以使用以下命令打开 jupyter notebook:jupyter notebook

看似简单,但也有帮助。

【讨论】:

【参考方案11】:

首先,您应该确保将 python 路径放在系统变量中。 然后尝试运行这个

python -m pip install jupyter --user

然后 运行这个

py -m notebook or  jupyter notebook

【讨论】:

【参考方案12】:

我加了

 c:\users\[user]\appdata\roaming\python\python37\site-packages

到路径并且它起作用了。

【讨论】:

【参考方案13】:

在 Windows 10 中: 如果您使用 anaconda3 安装 Jupyter notebook,安装时忘记勾选将环境变量添加到系统,则需要手动将以下环境变量添加到“Path”变量中: (搜索编辑环境变量的窗口设置”)

Environment variables for Anaconda3

【讨论】:

【参考方案14】:

我的问题是我从错误的目录运行jupyter 命令。

导航到包含脚本的路径后,一切正常。

路径- C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\Scripts

【讨论】:

【参考方案15】: ## 窗口命令

默认安装(安装时只需勾选“添加路径”和“下一步”)

python -m notebook

用于自定义安装在 C:\

jupyter notebook

【讨论】:

【参考方案16】:

如果你安装了 jupyter “python -m pip install jupyter”命令 代替 “$ pip install jupyter”命令 然后按照以下步骤操作:

    创建记事本 将其扩展名从“.txt”更改为“.ipynb” 右键单击它并单击“打开方式” 在弹出窗口中,转到 -C:\Users\\AppData\Roaming\Python\Python38\Scripts 点击“jupyter-lab.exe”

【讨论】:

【参考方案17】:

在Python 3.7.6 for Windows 10。安装后,我使用这些命令。

1. pip install notebook
2. python -m notebook

C:\Users\Hamza\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\Scripts .

对于我的电脑,python 脚本位于上述路径中。您可以在环境变量中添加此路径。然后运行命令。

1. jupyter notebook

【讨论】:

【参考方案18】:

100% 工作解决方案:

按照以下步骤操作:

    打开您下载“python-3.8.2-amd64.exe”安装程序或任何其他版本的python包的文件夹

    双击“python-3.8.2-amd64.exe”

    点击“修改”

    您将看到“可选功能”

    点击“下一步”

    选择“将python添加到环境变量”

    点击“安装”

    然后你可以在你想要的任何文件夹中运行 jupyter

    E.g  open "cmd" command prompt

    Type : 
    E: 

    E:\>jupyter notebook

    It will get started without showing

    'Jupyter' is not recognized

谢谢

【讨论】:

【参考方案19】:

我安装了两个 python 版本: 1. Python 3.8.2:这是独立安装的 2. Python 3.7.6:与 Anaconda 3 一起安装

即使正确设置路径变量,多个版本也会导致冲突。

我已经卸载了 Python 3.8.2,重启后,命令

jupyter notebook

完美运行:)

【讨论】:

【参考方案20】:

检查你是否在环境变量中正确地给出了python PATH。 如果没有,则设置 python 路径。然后使用:

$ python -m notebook

【讨论】:

【参考方案21】:

我在 windows7 中遇到了同样的问题,因为我刚刚在恢复点的帮助下恢复了我的电脑,之后笔记本就停止了工作。我试图更改路径设置,但没有任何效果,所以我只是简单地使用安装它的应用程序卸载了 python,然后我再次安装它。之后,我再次安装了 jupyter notebook,然后它运行良好。 谢谢

【讨论】:

【参考方案22】:

您可以创建一个批处理文件并在 Windows 搜索中搜索 Jupiter 并打开其属性,您将获得此字符串。 D:\anaconda3\python.exe D:\anaconda3\cwp.py D:\anaconda3 D:\anaconda3\python.exe D:\anaconda3\Scripts\jupyter-notebook-script.py "%USERPROFILE%/ " 得到这个之后,你可以用这个内容创建一个 jupitor.bat 文件 您可以将该文件保存在 d 或任何驱动器中的脚本文件夹中,并将脚本文件的路径添加到环境路径中

然后你可以通过在 cmd 中输入 jupitor 来轻松调用它。

【讨论】:

【参考方案23】:

我刚刚在启用 Python 3.8/pip 的 Win10 机器上安装了 JupyterLab,所以我遇到了这些 Windows 启动问题。 如果一切正常(检查您是否有 Python 的 PATH,例如 C:\Users[Username]\AppData\Local\Programs\Python\Python38-32\Scripts),您只需运行:

jupyter-lab.exe

就是这样。

干杯

【讨论】:

【参考方案24】:

安装我使用 windows命令行中的“pip install notebook”

运行 python -m notebook 对我不起作用,但 python3 -m notebook 有效

【讨论】:

【参考方案25】:

首先运行这个命令

pip 安装 jupyter

然后添加系统变量path,这个路径就是jupyter等脚本所在的位置

PATH = C:\Users\AppData\Roaming\Python\Python38\Scripts

例如 PATH=C:\Users\HP\AppData\Roaming\Python\Python38\Scripts

之后我们可以从任何文件夹/目录运行 jupyter

jupyter 笔记本

【讨论】:

【参考方案26】:

添加系统变量路径,这个路径是jupyter等脚本所在的地方

路径 -->

`C:\Users\<userName>\AppData\Roaming\Python\Python39\Scripts`

就像我的笔记本电脑 PATH 是:

"C:\Users\developer\AppData\Roaming\Python\Python39\Scripts"

之后,您将能够通过运行以下命令从任何文件夹和任何目录运行 jupyter

jupyter 笔记本

【讨论】:

【参考方案27】:

我遇到了完全相同的问题,这让我发疯了。其他答案提供了解决方案,但没有解释为什么您和我都会遇到此问题。

我将尝试解释为什么会发生这种情况,然后提供一些解决方案。

你可以到最后看看 TL;DR。

发生了什么事?为什么会出现这个错误?

我将尝试逐步回答,以便清楚地解释所有内容。 如果一开始觉得太基础,请到本“文章”的末尾。

我将首先从常见的事情开始,例如从终端运行python shell 或运行pip。您将了解为什么您可以从终端执行此操作,我们将结束为什么 以及如何您也可以从终端运行 jupyter 笔记本。

准备好了吗?开始吧!


你有没有想过为什么可以在终端(命令提示符)中输入python,然后突然启动 Python 解释器?

Microsoft Windows [Version 10.0.18363.1440]
(c) 2019 Microsoft Corporation. All rights reserved.

C:\Users\YOUR-USERNAME>python
Python 3.9.1 (tags/v3.9.1:1e5d33e, Dec  7 2020, 17:08:21) [MSC v.1927 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

您可能已经知道(但可能不知道)这是因为 Python 已添加到 Windows PATH 环境变量中。你可能是在installation 时间或afterwards 完成的。

但是,这个PATH 环境变量是什么?

它基本上允许您运行位于内部的任何可执行文件 变量中指定的路径,在命令提示符下没有 必须提供可执行文件的完整路径。

您可以使用以下命令检查 PATH 变量的内容:

>>> import sys
>>> for path in sys.path:
        print(path)

C:\Users\YOUR-USERNAME\AppData\Local\Programs\Python\Python39\python39.zip
C:\Users\YOUR-USERNAME\AppData\Local\Programs\Python\Python39\DLLs
C:\Users\YOUR-USERNAME\AppData\Local\Programs\Python\Python39\lib
C:\Users\YOUR-USERNAME\AppData\Local\Programs\Python\Python39
C:\Users\YOUR-USERNAME\AppData\Local\Programs\Python\Python39\lib\site-packages
... (some other paths were taken out for clarity)

你可以看到这个文件夹:C:\Users\YOUR-USERNAME\AppData\Local\Programs\Python\Python39。这是安装 Python 3.9 的地方。让我们检查一下它的内容:

<DIR>   DLLs
<DIR>   Doc
<DIR>   etc
<DIR>   include
<DIR>   Lib
<DIR>   libs
<DIR>   Scripts
<DIR>   share
<DIR>   tcl
<DIR>   Tools
        LICENSE.txt
        NEWS.txt
        python.exe
        python3.dll
        python39.dll
        pythonw.exe
        vcruntime140.dll
        vcruntime140_1.dll

瞧! 我们有python.exe 文件(executable)。我们在PATH 中有一个 Python 可执行文件,这就是为什么你可以从终端输入python 来启动 Python 解释器。如果不是这种情况,您必须在终端中输入可执行文件的完整路径:

C:\Users\YOUR-USERNAME> C:\Users\YOUR-USERNAME\AppData\Local\Programs\Python\Python39\python)

不仅仅是:

C:\Users\YOUR-USERNAME> python

当你使用pip 时呢?

原理是一样的。您可以从终端运行pip,因为PATH 变量中有一个pip 可执行文件。

如果您转到C:\Users\YOUR-USERNAME\AppData\Local\Programs\Python\Python39\Scripts\(在上面显示的PATH 中),您会看到许多可执行文件。其中之一是pip。其实我有三个版本:pippip3.9pip3

Scriptsfolder 允许从终端运行可执行文件。像 pip 或您打算直接从终端运行的其他库。 Scripts 文件夹:

...不是为您准备的,它适用于安装为的脚本 您安装的模块的组件。例如, pip 是一个模块, 但它也有一个同名的包装脚本 pip,它将是 安装在该目录中。

如果你把东西放在那里并且它在你的 PATH 中正确,那么它 应该是可执行的

该包装脚本将是pip 可执行文件。运行this executable文件时,会定位到Python安装文件夹下的pip文件夹,运行pip

但您也可以直接从安装文件夹 (C:\Users\YOUR-USERNAME\AppData\Local\Programs\Python\Python39\Lib\site-packages) 运行 pip,而不需要可执行的 pip 文件。

但是,你怎么能做到呢?

很高兴你问。有一个 Python way 可以将模块作为主模块运行(无需导入它)。

python -m pip

当你直接运行一个模块时,它的名字变成__main__-m 所做的是:

sys.path 中搜索命名模块并将其内容作为__main__ module 执行。

__main__ 是什么?

'__main__' 是***代码执行的范围的名称。

从标准读取时,模块的__name__ 设置为等于'__main__' 输入、脚本或来自交互式提示。 ...

我猜pip 可执行文件做了类似的事情,或者至少具有相同的效果:启动pip


这和 Jupyter Notebook 有什么关系?!

认为Jupyter Notebookpip 相同。如果你想在终端中运行jupyter,你需要一个在PATH上的可执行文件。

我们已经看到pipjupyter 等模块的可执行文件位于C:\Users\YOUR-USERNAME\AppData\Local\Programs\Python\Python39\Scripts\

如果我检查文件夹的内容,我会看到:

easy_install-3.9.exe
easy_install.exe
f2py.exe
jsonschema.exe
jupyter-bundlerextension.exe
jupyter-console.exe
jupyter-nbconvert.exe
jupyter-nbextension.exe
jupyter-notebook.exe
jupyter-qtconsole.exe
jupyter-serverextension.exe
jupyter-trust.exe
pip.exe
pip3.9.exe
pip3.exe

我看到了已经提到的pippip3.9pip3。但我没有看到 jupyter(单独的单词“jupyter”)。

如果我在终端中输入jupyter,我会收到启动所有错误:

'jupyter' is not recognized as an internal or external command, operable program or batch file.

我们终于找到了您的问题的答案!!!


'jupyter' 未被识别为命令,因为在名为 jupyterScripts 文件夹中没有可执行文件。


所以,让我们尝试一个不同的可执行文件。 jupyter-notebook呢?

BINGO!笔记本正在运行!

Serving notebooks from local directory:
C:\Users\YOUR-USERNAME\AppData\Local\Programs\Python\Python39\Scripts
Jupyter Notebook 6.3.0 is running at:
http://localhost:8888/?token=... (edited)
or http://127.0.0.1:8888/?token=... (edited)
Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

我不知道为什么我没有名为“jupyter”的jupyter 可执行文件。 official documentation 说要在终端上使用 jupyter notebook,但似乎在某些情况下它不起作用。而且我认为这与我上面提到的有关:Scripts 文件夹中没有 jupyter 可执行文件。


如果你还记得,我告诉过你,你可以使用python -m pip 作为主模块运行pip

碰巧你可以用jupyter做同样的事情。我们只需要知道如何调用它。与pip 一样,我们必须检查安装第3 方库的文件夹:C:\Users\YOUR-USERNAME\AppData\Local\Programs\Python\Python39\Lib\site-packages

您会看到jupyter_console,但这只是在终端中创建了一个交互式笔记本,而不是您想要的。您还将找到以.dist.info 结尾的文件夹,例如jupyter_console-6.4.0.dist-info。这只是 Wheel Binary Package 构建器的 metadata。您还会看到类似jupyterlab_pygments 的文件夹,但that's 是JupyterLab。我们想使用经典的 Jupyter notebook。

我们想要运行notebook。我们怎么知道的?

您将在文件夹site-packages 中看到文件夹(packagenotebook。里面有一个file called__main__.py

#__main__.py
if __name__ == '__main__':
    from notebook import notebookapp as app
    app.launch_new_instance()

它正在调用 notebookapp.py which is 一个 “基于龙卷风的 Jupyter 笔记本服务器。” 是的,这就是我们需要的。

我们可以see 让launch_new_instancenotebookapp 中调用launch_instance()、which“启动 Jupyter 应用程序的实例”。

完美!我们在正确的文件夹中。要从 Python 交互式 shell 运行 jupyter notebook,我们必须运行 notebook 包:

python -m notebook

*** 摘要:解决方案 ***

tl;博士:

我已经解释并说明了为什么会发生这个错误。

现在让我们总结一下解决方案:

    要知道jupyter 可执行文件的名称(在Scripts 文件夹中),因此您可以直接从终端(命令提示符)运行:

     jupyter notebook
    

或作为:

    jupyter-notebook

或者你有什么名字。

    从 Python 中将 notebook 作为主模块运行:

     python -m notebook
    

我希望这对您有帮助,就像它对我有帮助一样。我愿意接受您的 cmets 和建议。

【讨论】:

然而,jupyter notebook 不起作用,而 jupyter-notebook 完美运行。请参阅 this post 我发现此异常的地方。 @its_deb 是的,发生了。在我的回答中,我试图提供一个解释。感谢您的帖子。【参考方案28】:

有同样的问题。最后搜索到了 jupyter.exe 目录在我电脑上的位置。由于某种原因,它在 C:\VTRoot\HarddiskVolume4\Users[用户]\AppData\Local\Programs\Python

而 Python 是 C:\Users[用户]\AppData\Local\Programs\Python

所以我将完整的 Python39 文件夹从 VTRoot 复制到 AppData 中的主要 Python39 python 文件夹。问题就解决了。

【讨论】:

【参考方案29】:

首先检查你的 python 安装在哪里,前往

C:\Users\**username**\AppData\Local\Programs\Python\Python39\Scripts

这是您通常会找到安装 python 的路径。在这个输入之后

cd..  to get one step out of the Scripts folder

在此处安装 jupyter 后使用:

$ pip install jupyter

安装很好,当我尝试打开 jupyter notebook 时,它给了我以下错误。

'jupiter is not recognized as an internal or external command, operable program or batch file.

我查了很多资源,但还是遇到了同样的问题。在网上做了很多事情后,我自己发现可能是由于一些更新(对于某些用户),它不会通过输入命令打开

jupyter notebook

相反,您必须输入

jupyter-notebook

我唯一缺少的是这个连字符减号。希望这对你也有用。

【讨论】:

【参考方案30】:

我刚安装并运行 jupyter notebook 时发现了这个错误。然后我从 C:\Users\&lt;user-name&gt;\AppData\Local\Programs\Python\Python39\Scripts。 实际文件名是"jupyter-notebook"。 安装指南将其命名为"jupyter notebook" 来运行服务器。您必须在命令行中运行命令"jupyter-notebook",它将运行。谢谢!

【讨论】:

以上是关于在 Windows 上通过命令行运行 Jupyter的主要内容,如果未能解决你的问题,请参考以下文章

Win7怎么使用命令行启动和停止Windows服务程序

新手:通过命令行进行性能分析

在 Windows 命令行上将文件复制到网络计算机

Windows下如何通过CMD命令行获取串口名称?

Windows wmic命令

Windows 10运行Ubuntu子系统