报错1:

原因:运行jupyter notebook --generate-config 生成配置文件时报错

原因:运行jupyter notebook 时报错

jupyter command not found

解决:先找到 jupyter 安装位置,例如/root/python38/bin/

将下面命令添加到~/.bash_profile中,我的是在/root/文件夹下,

export export PATH=/root/python38/bin/:$PATH

请输入图片描述

再执行

source .bash_profile

错误2:ModuleNotFoundError: No module named 'pysqlite2'

再次安装sqlite-devel,然后重新安装python3

安装

#安装jupyter
pip3 install jupyter

#创建一个目录,用来作为jupyter的根目录
mkdir /root/jupyter

#创建Jupyter配置文件,生成在/root/.jupyter/jupyter_notebook_config.py
jupyter notebook --generate-config

#生成密钥
进入python环境:
 
from notebook.auth import passwd 
passwd() 
此时会让你两次输入密码,你自己容易记的(该密码作为客户端登录jupyter用),然后就会返回一个秘钥 (秘钥作为配置文件用) 

4.#配置文件,win下可以用winscp,登陆找到这个文件,把下面的代码复制修改,就不用在命令行下弄。
cd /root/.jupyter/
vim jupyter_notebook_config.py
#vim操作教程
#输入i进入编辑模式,按esc键退出编辑模式
#输入:/ xxx发现xxx
#输入:wq保存退出

#把下面的代码直接复制在最尾,方便管理,进行如下修改

c.NotebookApp.ip = '*' #所有绑定服务器的IP都能访问,若想只在特定ip访问,输入ip地址即可
c.NotebookApp.port = 6666 #将端口设置为自己喜欢的吧,默认是8888
c.NotebookApp.open_browser = False #禁止在服务器上自动打开Jupyter Notebook,所以设置成False
c.NotebookApp.notebook_dir = '/root/jupyter/' #这里是设置Jupyter的根目录,若不设置将默认root的根目录,不安全
c.NotebookApp.allow_root = True # 为了安全,Jupyter默认不允许以root权限启动jupyter 
c.NotebookApp.password = 'password'#刚才生成的密码秘钥

#运行jupyter
jupyter notebook --allow-root

这样就可以在随便浏览器打开:ip:port 访问你的jupyter,我用的是腾讯的服务器,默认端口要先打开才能用,在后台防火墙添加端口

请输入图片描述

2020-10-30 重新安装出现问题,以下为ssh提示的问题

[root@VM-0-4-centos ~]# jupyter notebook --generate-config
Traceback (most recent call last):
  File "/root/python38/lib/python3.8/site-packages/notebook/services/sessions/sessionmanager.py", line 9, in <module>
    import sqlite3
  File "/root/python38/lib/python3.8/sqlite3/__init__.py", line 23, in <module>
    from sqlite3.dbapi2 import *
  File "/root/python38/lib/python3.8/sqlite3/dbapi2.py", line 27, in <module>
    from _sqlite3 import *
ModuleNotFoundError: No module named '_sqlite3'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/root/python38/bin/jupyter-notebook", line 5, in <module>
    from notebook.notebookapp import main
  File "/root/python38/lib/python3.8/site-packages/notebook/notebookapp.py", line 88, in <module>
    from .services.sessions.sessionmanager import SessionManager
  File "/root/python38/lib/python3.8/site-packages/notebook/services/sessions/sessionmanager.py", line 12, in <module>
    from sqlite3 import dbapi2 as sqlite3
  File "/root/python38/lib/python3.8/sqlite3/__init__.py", line 23, in <module>
    from sqlite3.dbapi2 import *
  File "/root/python38/lib/python3.8/sqlite3/dbapi2.py", line 27, in <module>
    from _sqlite3 import *
ModuleNotFoundError: No module named '_sqlite3'
[root@VM-0-4-centos ~]# jupyter notebook --generate-config
Traceback (most recent call last):
  File "/root/python38/lib/python3.8/site-packages/notebook/services/sessions/sessionmanager.py", line 9, in <module>
    import sqlite3
  File "/root/python38/lib/python3.8/sqlite3/__init__.py", line 23, in <module>
    from sqlite3.dbapi2 import *
  File "/root/python38/lib/python3.8/sqlite3/dbapi2.py", line 27, in <module>
    from _sqlite3 import *
ModuleNotFoundError: No module named '_sqlite3'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/root/python38/bin/jupyter-notebook", line 5, in <module>
    from notebook.notebookapp import main
  File "/root/python38/lib/python3.8/site-packages/notebook/notebookapp.py", line 88, in <module>
    from .services.sessions.sessionmanager import SessionManager
  File "/root/python38/lib/python3.8/site-packages/notebook/services/sessions/sessionmanager.py", line 12, in <module>
    from pysqlite3 import dbapi2 as sqlite3
ModuleNotFoundError: No module named 'pysqlite3'
[root@VM-0-4-centos ~]# pip3 install pysqlite3
Looking in indexes: https://mirrors.cloud.tencent.com/pypi/simple
Collecting pysqlite3
  Downloading https://mirrors.cloud.tencent.com/pypi/packages/ca/e4/38f120cb2277b7931503ad5fe371a66fe780508f79b3793e3775f7fd819e/pysqlite3-0.4.3.tar.gz (40 kB)
     |████████████████████████████████| 40 kB 316 kB/s
Using legacy 'setup.py install' for pysqlite3, since package 'wheel' is not installed.
Installing collected packages: pysqlite3
    Running setup.py install for pysqlite3 ... done
Successfully installed pysqlite3-0.4.3
[root@VM-0-4-centos ~]# jupyter notebook --generate-config
Writing default config to: /root/.jupyter/jupyter_notebook_config.py
[root@VM-0-4-centos ~]#


刚开始问题还是:

错误2:ModuleNotFoundError: No module named 'pysqlite2'

再次安装sqlite-devel,然后重新安装python3

但这一次,我安装sqlite-devel不成功,根据提示的文件,把

**File "/root/python38/lib/python3.8/site-packages/notebook/services/sessions/sessionmanager.py", line 12, in <module>
from sqlite3 import dbapi2 as sqlite3**

中的sqlite3改为pysqlite3,然后提示找不到pysqlite3,安装了一下这个库,正常了。

请输入图片描述

请输入图片描述

winscp修改显示隐藏文件

请输入图片描述

以下是jupyter安装在windows中,出现问题2时的解决办法,没测试过,先留着备用

用命令行输入jupyter notebook后报错,问题界面如题所示:

解决方法:

1. 去sqlite3官网,根据自己的系统和位数(32位还是64位)下载对应的插件:

sqlite3官网地址:https://www.sqlite.org/download.html



如果是64位Windows系统,则上图三个中的第二个插件。

2. 下载完后,解压缩,将文件复制到Anaconda的DLLs目录下即可;


3. 测试是否解决问题,

在命令行输入juputer notebook,成功运行,问题解决。

这命令是在安装完jupyter后添加的,我也添加了,但看别人的又没加,不知道有没有影响,也备用着,

创建软连接,否则不会出现juptyer命令

ln -sv /usr/local/python3/bin/ipython /usr/bin/
ln -sv /usr/local/python3/bin/jupyter /usr/bin/

后台运行

把jupyter挂在后台运行,使用起来会非常方便

nohup jupyter notebook --allow-root > jupyter.log 2>&1 &
nohup jupyter notebook --ip=0.0.0.0 -allow-root > jupyter.log 2>&1 &

我要两条命令都输入,不需要启动jupyter,网页能自动连接,只输入哪一条,一关终端都断线,不知道为什么。

&让命令后台运行, 并把标准输出写入jupyter.log中

nohup`表示no hang up, 就是不挂起, 于是这个命令执行后即使终端退出, 也不会停止运行.

用域名访问时,会显示正在连接服务器,最后显示连不上,用ip:端口就没问题,用的是宝塔的反向代理,

请输入图片描述

在location/{下面,添加这几行,如果存在就不用添加:

proxy_pass http://127.0.0.1:YOUR_PORT/;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_redirect off;

添加功能:

pip3 install jupyter_contrib_nbextensions && jupyter contrib nbextension install

安裝成功後,開啟你的 Jupyter Notebook,會看到多出了「Nbextensions」的選項,如下圖:左上角disable configuration前的小勾取消就可以选择需要的功能

请输入图片描述

一、折疊程式碼(Code folding)

啟用後可以將函數、類別、註解折疊起來,在 Jupyter Notebook 上進行開發的時候,往往寫到最後都會讓篇幅變得過長,但中間的一些分析過程又暫時捨不得刪掉,這時候折疊的功能就非常有用!

二、顯示程式執行時間 (Execution time)

啟用後每一格 cell 執行完都會顯示執行的時間,在設定中可以自行調整顯示的格式,預設以 YYYY-MM-DD HH:mm:ss 的格式來顯示。對於常常需要分析執行效率的人來說超級實用!

三、變數監控器 (Variable inspector)

啟用後在 Jupyter Notebook 介面上方可以看到一個靶心的圖示Image 005 1 - 盤點5個Jupyter Notebook必裝的擴充插件,大幅提高你coding的效率!,點它就可以看到目前記憶體中變數的大小及內容。更棒的是它可以直接在這個介面中刪除你不想要的變數,幫助你更好的管理記憶體。

四、函數自動補全 (Hinterland)

函數自動補全這個功能幾個月前就有特別為它寫過一篇介紹文,倒不是說特別好用,只是自己覺得這真的挺重要的,能夠減少很多拼字上的錯誤,和反覆上拉去複製變數名稱之類的冗餘時間,個人也是大推。

五、自動排版 (Auto PEP8)

自動排版能讓程式碼的格式整齊劃一,並且符合 PEP 的標準格式,和 black formatter 兩者都很常使用,不過在 Jupyter Notebook 上只需要點一下槌子的圖示Image 008 2 - 盤點5個Jupyter Notebook必裝的擴充插件,大幅提高你coding的效率!就能一鍵排版,非常方便,後來就只有在 VS Code 上直接編寫 .py 的程式時候會用到 black 了。

以上5個擴充插件就是我自己覺得開啟後對於增加 coding 效率或方便性很有顯著差異的,

最后修改:2020 年 11 月 04 日
如果觉得我的文章对你有用,请随意赞赏