conda 下安装jupyter notebook

conda 下安装jupyter notebook

上一篇因为要安装tensorflow,所以anaconda 安装的是mini 版的,mini版大部分功能都是没有的,相当于装了一个conda的包管理器,然后顺带装了一些包,给大家看看这个mini的安装包的情况。
可以看到相比于完成的anaconda默认自带的150多个包,这个mini 版的只有18个包左右。一些常用的工具比如jupyter notebook也是没有的。只是我比较习惯用conda的包管理了,所以也不纠结是不是可以尝试其他方法装tensorflow了。所以决定安装jupyter notebook了。
在这里插入图片描述

安装jupyter notebook

在终端输入以下命令:
Conda install jupyter notebook

发现最后报错了(囧)

RemoveError: ‘setuptools’ is a dependency of conda and cannot be removed from
conda’s operating environment. 

这个错误应该是跟我之前安装过anaconda官网上的完整版本有关系,还有可能跟我之前在安装miniconda 的时候在某一个环节使用了sudo有关系。后来发现stackoverflow上有解决方案 python - RemoveError: ‘requests’ is a dependency of conda and cannot be removed from conda’s operating environment - Stack Overflow 。高票答案是说要重新升级一下conda 还有部分说是先卸载setuptools,再升级conda。这里说一下适应于我的解决方案。
因为我直接升级conda的时候,依然报最开始的错误,所以我就选择先卸载setuptools,卸载的时候遇到了权限不够的问题,然后就先解决了权限的问题,再卸载setuptools,再升级conda,最后成功安装jupyter notebook。
记录下我的详细步骤:

  1. 一开始我选择直接升级conda,发现依然报错
    输入以下命令后:
    conda update —force conda
    报错:
RemoveError: ‘setuptools’ is a dependency of conda and cannot be removed from
conda’s operating environment. 
  1. 选择先卸载setuptools,报权限错误
    输入卸载命令:
    conda uninstall setuptools
    报权限错误:
Permission denied: ‘/Users/xx/miniforge3/lib/python3.9/site-packages/_distutils_hack/__init__.py

发现是site-packages权限不够,这里我选择的是修改这个文件夹的权限。
3. 修改权限
进入到site-packages文件目录后,查看文件夹权限:
ls -l

发现有部分文件的权限是属于root用户的,这里我决定对整个文件夹的文件都更改为当前用户。
[image:B1AE2CD9-3C32-4CB5-B760-CF99331DE13B-858-00000032E73541D6/6EB23EA3-ED07-4CF2-9C5F-63FD776FE099.png]

因为是需要更新site-packages文件夹下的文件,所以一定要先进入到site-packages目录下,执行以下命令,或者这里可以把命令中的./ 当前文件夹改成绝对路径。
sudo chown -R yangli:staff ./
执行完后可以再看一下权限,就知道是否更新成功了。
4. 然后再重新执行第一步,升级conda,就会发现执行成功了。
5. 最后终于可以进入到安装jupyter notebook的正事当中了
conda install jupyter notebook

激动的心颤抖的手呀,成功了。开心
[image:40DBF621-D7B6-41C1-9A06-5A2E414E1503-858-0000004C94292EC8/7E42113A-4BFB-4526-AE67-F889376985A4.png]

  1. 测试验证
    终端输入以下命令,浏览器会弹出notebook的工作目录,就可以开开心心写代码了。
    jupyter notebook

jupyter notebook 配置

jupyter notebook 安装完成后,我习惯改工作目录,设置多个python环境,以及是否开机自动启动之类的设置。接下来就记录下如何去设置这些配置。

  1. 修改notebook的工作目录
    1.1生成notebook的配置文件
    设置配置文件,终端输入以下命令,会提示已将文件写入到xx。这个路径下的config文件就是我们要修改。 这里提醒一下,如果之前生成过config文件了,输入这个命令后,会提示是否需要覆盖原文件,如果选择是,则相当于原文件会被这个默认的文件覆盖,之前原文件上的修改就不在了,所以需要根据自身需求选择是否覆盖。
    jupyter notebook —generate-config

[image:B38D221A-8398-4B78-A035-68BB511B7687-858-00000053071BF42A/A75BD463-3AC4-4868-BBEC-00287D0A3EDE.png]

1.2.修改config文件
打开config文件,vim打开,以下命令修改为第1步的config路径。
vim /Users/xx/.jupyter/jupyter_notebook_config.py

查找c.NotebookApp.notebook_dir = ,vim打开文件后,在命令行模式下,输入/dir 回车,就会查找到(关于vim 常用命令可以在网上搜索)。找到后,将这行的注释去掉,在=后面加上自己想设置的目录,保存修改后退出。
[image:349245B3-161D-48B4-8EBC-8C62D0A6E074-858-000000581D826770/7048D7BB-B380-49EB-8E85-66A0338C3324.png]

可以在终端启动notebook看是否设置成功。
2. 将之前我设置的tensorflow虚拟环境增加到jupyter的kernel中
2.1 查看当前已安装的虚拟环境
conda info -e
可以看到目前我有两个,现在决定把tensorflow 加入到kernel中,方便之后的调试工作。
[image:89BEE3CD-5EBB-409B-B9F1-44A08A69A812-858-000000665B36C3AB/A92DFD35-6B8F-4A5A-8CAF-779B9BE3E8A6.png]

2.2 激活tensorflow环境
conda activate tensorflow_env
激活后,会在前面显示当前的环境
[image:EF46B033-4740-49CA-B55E-F6CF426538A5-858-0000006721E3D258/1C9FD7D6-12F3-4AE5-9C9E-7BF872FE571F.png]

2.3 安装ipykernel
为当前的虚拟环境安装ipykernel。
conda install ipykernel
2.4 生成ipykernel的配置文件
python -m ipykernel install —name tensorflow_env
2.5 查看已有的kernel
jupyter kernelspec list

已经成功的把tensorflow_env加入到kernel 中了。
[image:1B623118-8A2A-4EA5-B4BF-26A4369EE742-858-00000069109C9D17/F0E88BCE-378F-4F2E-83E4-A05633514565.png]

2.6 删除某一kernel
这里只是删除了配置文件,并没有删除虚拟环境。
jupyter kernelspec remove kernelname
2.7 验证
验证除了上述说的命令行的形式,也可以在notebook下的新建或者new下查看。这样就实现在notebook下随意切换环境了。美美哒[image:1E1F59A8-9DDA-424A-91E9-A504336C8DF0-858-0000006AC365FC22/A8A3EC5B-F1DC-49E3-81B8-BB1E9B272E68.png]

  1. 设置notebook开机&后台启动
    3.1 后台启动
    后台启动是为了在终端关闭的时候,notebook也能不受影响的继续运行。以下命令是后台启动并把运行日志记录在/Users/xx/python_pro下的jupyter.log中,根据需要更新路径。
    nohup jupyter notebook > /Users/xx/python_pro/jupyter.log 2>&1 &
    3.2 开机启动
    不想每次开机都要手动启动notebook,于是决定弄一个脚本来实现;
p=`ps ax | grep 'jupyter' | grep -v 'grep'`
if [ ! -n "$p" ];then
	nohup jupyter notebook > /Users/xx/python_pro/jupyter.log 2>&1 &
	sleep 1.5
	open -a Safari http://localhost:8888/	# 请替换成自己jupyter的访问地址和端口
else
	open -a Safari http://localhost:8888/
fi

脚本保存为notebookr_run.sh,之后点击这个shell文件,右键显示内容,打开方式选择终端。如果默认的推荐程序没有终端,需要在界面的下方选择所有程序。
[image:3E1E7A17-4339-4352-B8B2-176CE1EA1EDD-858-000000C9DDB79599/A8C701E1-7ACB-4A7F-A300-B26808C1ED03.png]

打开系统偏好,选择用户与群组,选择登陆项,添加shell脚本文件。
[image:DF9CCDA5-9B43-4659-8BDE-0664D5849D0A-858-000000CB2C7FA75B/925D646D-9134-4D2D-80FE-6498F29FA67D.png]

  1. jupyter notebook 服务的常用命令
    开启notebook服务
    jupyter notebook
    查看当前已开启的notebook服务
    jupyter notebook list
    后台开启notebook服务
    nohup jupyter notebook
    终止某个端口号的notebook服务
    jupyter notebook stop 端口号
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页