PyCharm搭配Vagrant运行远程Jupyter Notebook可行吗?遇403错误
可以实现!解决PyCharm连接Vagrant远程Jupyter的403问题
当然能让PyCharm和Vagrant上的远程Jupyter Notebook正常协作!你遇到的403禁止访问问题,大概率是Jupyter的认证配置或跨域权限没设置到位,我给你一步步排查解决:
1. 修正Jupyter的核心配置(关键!)
403错误通常和认证规则、远程访问权限有关,先在Vagrant虚拟机里调整Jupyter配置:
- 如果还没生成过配置文件,先执行:
jupyter notebook --generate-config - 打开配置文件(路径一般是
~/.jupyter/jupyter_notebook_config.py),修改以下参数:- 允许跨域请求(PyCharm的请求会被跨域拦截):
c.NotebookApp.allow_origin = '*' - 明确允许远程访问:
c.NotebookApp.allow_remote_access = True - 绑定到所有网卡,确保虚拟机的Jupyter能被主机访问:
c.NotebookApp.ip = '0.0.0.0' - 启用密码认证,并使用哈希值而非明文密码(这是很多人踩坑的点!):
先在虚拟机的python3环境里执行:
输入你的密码from notebook.auth import passwd; passwd()vagrant后,会生成一串哈希值,把它复制到配置里:c.NotebookApp.password = '生成的哈希字符串' c.NotebookApp.password_required = True
- 允许跨域请求(PyCharm的请求会被跨域拦截):
2. 检查PyCharm的Jupyter配置细节
确保PyCharm的设置和Jupyter匹配:
- 打开PyCharm的
Settings → Tools → Jupyter Notebook - 选择
Remote server模式 - 填写服务器地址:
http://localhost:8888(和你浏览器访问的地址一致) - 认证方式选
Password,输入你设置的vagrant - 再次确认远程解释器:
Settings → Project: [你的项目名] → Python Interpreter,确保选中的是Vagrant虚拟机上的python3
3. 重启服务并验证
- 先关掉虚拟机里的Jupyter进程,再用修改后的配置重启:
jupyter notebook --config ~/.jupyter/jupyter_notebook_config.py - 回到PyCharm,尝试新建一个Jupyter Notebook文件,或者点击"Connect to Jupyter Server"按钮,看是否能成功创建内核、执行代码
额外排查点
如果还是不行,检查这两个细节:
- 确认Vagrant的端口转发配置正确,Vagrantfile里要有:
config.vm.network "forwarded_port", guest: 8888, host: 8888 - 检查Jupyter日志里的IP
10.0.2.2是否被允许:如果配置里有c.NotebookApp.allow_ip参数,确保这个IP在白名单里,或者直接注释掉该参数允许所有IP访问
按照这些步骤调整后,PyCharm应该就能正常连接到Vagrant上的Jupyter Notebook了。
内容的提问来源于stack exchange,提问作者mrc




