目的
因为某些稍后我会总结补充的原因,我在使用pycharm的托管jupyter服务时,总是会挂到其他人的环境里,怎么重新设置都没用。这里记录一下用python查当前所在解释器路径的方法:
import sys
print(sys.executable)
还有一种直接查所在环境前缀的:
import sys
print(sys.prefix)
所以我开始疯狂寻找怎么让托管挂到我指定的路径上,无果。最终还是妥协,下面是如何在远程服务器上配置指定的Jupyter路径。
参考文档
https://blog.csdn.net/siper12138/article/details/131961960
使用Pycharm远程使用Jupyter_pycharm连接远程jupyter-CSDN博客
步骤
1.设置密码
一种方法:
jupyter notebook password
在终端设置好密码之后,到下面这个json文件里找密码的哈希值:
vim /.jupyter/jupyter_notebook_config.json
当然我们在Pycharm里直接 工具->部署->浏览远程主机 在目录里去找就可以了,不用费劲在vim里写。找到后把密钥复制下来。
然后打开同目录下的py文件:
vim /.jupyter/jupyter_notebook_config.py
拖到最后粘上:
c.NotebookApp.ip = '*' # 允许访问此服务器的 IP,星号表示任意 IP
c.NotebookApp.password = 'password' # 之前生成的密码 hash 字串, 粘贴进去
c.NotebookApp.open_browser = False # 运行时不打开本机浏览器
c.NotebookApp.port = 9999 # jupyter notebook远程端口,自己设,也可以不设
c.NotebookApp.enable_mathjax = True # 启用 MathJax
c.NotebookApp.allow_remote_access = True #允许远程访问
c.NotebookApp.allow_root = True
其中第二行中的password要更替为你之前设置密码后返回的输出值。
第四行这个端口不是你远程服务器连接的端口,这里等于是新开一个端口专门用来接你的jupyter服务的。
搞好保存,然后到终端,进到你的conda环境里,jupyter notebook启动服务,拿到服务地址:
但这个地址没有什么用,你是要在本地连远程,不是在远程连自己,所以pycharm打开一个ipynb文件,右上方配置jupyter服务器,这里写的是你的远程服务器的地址:端口号,/tree加不加都行。
配上以后正常输密码即可。
这时候再测一下,终于是在期望的环境里运行了: