解决PyCharm中Jupyter Notebook端口被占用问题

沈亦白
沈亦白
发布时间:2026-10-11| 2人浏览过
原创

在PyCharm中运行Jupyter Notebook时,若未正常关闭进程,再次启动常会提示端口被占用(默认8888)。本文介绍两种解决方法:通过任务管理器结束进程,或使用命令行工具(netstat、taskkill)精准定位并强制终止占用端口的后台进程,确保开发环境顺利启动。

问题现象

Jupyter Notebook 默认监听端口通常为 8888。如果在 PyCharm 中运行 Notebook 后未通过正常方式关闭,直接再次点击运行,系统会抛出错误:the notebook server could not be started because no available port。这意味着旧的进程仍在后台占用着端口。

解决方法一:使用任务管理器

这是最直观的方法。打开 Windows 任务管理器,在“进程”或“详细信息”选项卡中查找名为 python.exe 的进程。选中该进程并点击“结束任务”,释放被占用的端口后,即可重新在 PyCharm 中启动 Notebook。

解决方法二:使用命令行精准清理

如果任务管理器中进程较多,或者希望更精准地定位,可以使用 Windows 命令提示符(CMD)进行排查和清理。整个过程分为三步:查找端口、定位进程、强制结束。

1. 查找占用端口的进程ID (PID)

首先,我们需要确认是哪个进程占用了 8888 端口。在 CMD 中执行以下命令:

netstat -aon | findstr "8888"

该命令的作用如下:

  • netstat:用于显示协议统计数据和当前的 TCP/IP 网络连接。
  • -aon:参数 -a 显示所有连接,-o 显示拥有的进程 ID (PID),-n 以数字形式显示地址和端口号。
  • findstr "8888":过滤出包含端口号 8888 的行。

命令输出的最后一列即为占用该端口的进程 ID(PID),例如 3128 或 3780。

2. 确认进程名称(可选)

为了确认该 PID 对应的具体程序,可以执行:

tasklist | findstr "3128"

这里 tasklist 用于显示本地或远程计算机上的所有任务列表,findstr 用于查找指定字符串(类似 Linux 下的 grep)。

3. 强制结束进程

确认 PID 无误后,使用 taskkill 命令结束该进程。在 CMD 中执行:

taskkill /PID "3128"

参数说明:

  • /PID:指定要终止的进程的进程 ID。
  • /f(可选):指定强制终止进程。如果进程不响应常规终止请求,建议加上此参数。
  • /t(可选):指定终止与父进程一起启动的所有子进程。

执行成功后,端口被释放,即可在 PyCharm 中重新启动 Jupyter Notebook。

以上就是解决PyCharm中Jupyter Notebook端口被占用问题的详细内容,更多关于PyCharm开发环境配置的资料请关注本站其它相关文章!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。