WSL安装JupyterLab

注意FIXME本页面未完善! 只能作为参考

  • 在Microsoft应用商店里安装python, 此时已经可以直接通过powershell适用python和pip
  • 先后在命令行里输入pip install jupyterpip install jupyterlab, 完成jupyterlab的安装
  • 此时已经可以适用powershell直接运行python -m jupyterlab --no-browser, 我们需要把它的工作文件夹重定向到我们需要的地方
  • 如果不嫌麻烦: 每次都在powershell里输入python -m jupyterlab --no-browser --notebook-dir='C:\Coding\Python'
    • 后面的--notebook-dir=[]方括号里填自己需要打开的文件夹
  • 或者适用powershell的function [shortcmd] {[longcmd]}, 定义一个快捷命令. 具体方法自行bing.
  • 用的时候需要一直保持powershell开启, 不然进程会被kill掉
  • 退出的时候选中powershell的窗口, Ctrl+C
  • 本内容于2021.06.10补充 — 娄泽坤 2021/06/10 19:32
  • WSL自带Python
    • 命令行python3自己进入安装页面
  • 自己安装pip
    • 据说推荐在/usr/lib/python3/dist-packages目录下安装
      • sudo pip3 install <pkgname> --target=/usr/lib/python3/dist-packages
    • 可以使用镜像源
      • -i https://pypi.tuna.tsinghua.edu.cn/simple 清华源
    • python3-pip
    • pip3 show <PkgName> --files 检查文件位置
    • 命令行pip3是名称
  • 升级pip
    • python3 -m pip3 install --upgrade pip3
  • 升级包
    • pip3 list -o 列出可升级的包的名字
    • pip install --upgrade <PkgName> 升级这个包
    • python3 -m pip3 install --upgrade pip3 pip自己升级
    • yx老师推荐安装的:numpy matplotlib pandas scipy jupyter
  • 依赖性
    • Python包之间有相互依赖性, 需要下载正确的版本
    • 可以通过pipdeptree检查, 但是太长了
    • pip install <PkgName>==<Version>
  • python -m
    • -m mod : run library module as a script (terminates option list)
      • 来自-h的解释
  • 好像直接就能用jupyterNB了, 不知道咋搞的就能用了
    • 奇怪了
  • python -m jupyterlab --no-browser
    • 或者已经在~/.bashrc里定义的jl命令直接启动
    • 注意使用python -m启动所有python插件
    • 倒数第二行网址就是需要的
  • 遇到问题 JupyterLab Error. JupyterLab application assets not found in "/usr/share/jupyter/lab". Please run `jupyter lab build` or use a different app directory
    • 需要先安装Node.jsnpm, 但是没用? 啥情况????
  • 更新nodejs
<!-- - 安装jupyterlab`-i https://pypi.tuna.tsinghua.edu.cn/simple` -->
  • jupyterlab
    • 进入环境后, 安装 pip install ipykernel
    • 创建kernel: python -m ipykernel install --user --name [环境名] --display-name [简称]
      • 例如 python -m ipykernel install --user --name venv1 --display-name venv1
      • 没搞懂: --user什么意思? --display-name [简称]不加也可以, 默认为环境名称
    • 然后在lab里kernel的选项里就可以看到这个了, 可能需要刷新一下页面
    • 但是怎么删除?
  • 不知道为什么, 我的wsl里好像jupyter lab命令没有, 中间不能加空格
  • 尝试启动, 命令为python -m jupyterlab --no-browser --notebook-dir='~/Python'
    • 启动成功, 选择进入第二个网址, 但是显示无法进入
    • JupyterLab application assets not found in "/usr/share/jupyter/lab". Please run 'jupyter lab build' or use a different app directory
  • 安装命令为: sudo python -m jupyterlab build
    • 结果报错: 需要Node.js和npm
    • apt安装两者, 前者版本达不到要求(node>=12.0.0)
  • 手动安装node, 里面包含了npm
    • 装在了/opt/node-v14.15.4-linux-x64/
    • 然后设置环境路径在/etc/.profile
    • /usr/bin/目录下创建/opt/node-v14.15.4-linux-x64/bin/中node和npm的快捷方式
      • node 分别创建 node 和 nodejs 的快捷方式
      • npm 创建 npm 名称的快捷方式
  • 继续尝试安装, 继续报错
    • RuntimeError: npm dependencies failed to install
      [LabBuildApp] Building in /usr/share/jupyter/lab
      [LabBuildApp] Node v14.15.4
      
      [LabBuildApp] Yarn configuration loaded.
      [LabBuildApp] Building jupyterlab assets (production, minimized)
      [LabBuildApp] > node /usr/lib/python3/dist-packages/jupyterlab/staging/yarn.js install --non-interactive
      [LabBuildApp] yarn install v1.21.1
      [1/5] Validating package.json...
      [2/5] Resolving packages...
      [3/5] Fetching packages...
      error An unexpected error occurred: "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.2.tgz: getaddrinfo EAI_AGAIN registry.yarnpkg.com".
      info If you think this is a bug, please open a bug report with the information provided in "/usr/share/jupyter/lab/staging/yarn-error.log".
      info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
      
      [LabBuildApp] npm dependencies failed to install
      [LabBuildApp] Traceback (most recent call last):
      
      [LabBuildApp]   File "/usr/lib/python3/dist-packages/jupyterlab/debuglog.py", line 47, in debug_logging
          yield
      
      [LabBuildApp]   File "/usr/lib/python3/dist-packages/jupyterlab/labapp.py", line 168, in start
          raise e
      
      [LabBuildApp]   File "/usr/lib/python3/dist-packages/jupyterlab/labapp.py", line 164, in start
          build(name=self.name, version=self.version,
      
      [LabBuildApp]   File "/usr/lib/python3/dist-packages/jupyterlab/commands.py", line 463, in build
          return handler.build(name=name, version=version, static_url=static_url,
      
      [LabBuildApp]   File "/usr/lib/python3/dist-packages/jupyterlab/commands.py", line 663, in build
          raise RuntimeError(msg)
      
      [LabBuildApp] RuntimeError: npm dependencies failed to install
      
      [LabBuildApp] Exiting application: JupyterLab
      
    • 这里有很多讨论, 据信是因为数据改位置了, 但是我不会改抓包的网页位置
  • 再次尝试安装, sudo python -m jupyterlab build
    • 终于成功了!!!
  • 还想优化一下, 能直接打开浏览器
    • Edge浏览器位置C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe
      • 修成转义字符/mnt/c/Program\ Files\ \(x86\)/Microsoft/Edge/Application/msedge.exe
      • 尝试打开"https://liuyang0001.github.io/"(tql!)
    • /usr/bin里建立msedge.exe的软连接
      • sudo ln -s /mnt/c/Program\ Files\ \(x86\)/Microsoft/Edge/Application/msedge.exe /usr/bin/msedge
      • bash里msedge能够正确打开Edge浏览器
    • jupyterlab导出设置文件
      • python -m jupyterlab --generate-config
        • Writing default config to: /home/nqhq/.jupyter/jupyter_lab_config.py
      • 文件中合适位置添加
        ## define default web browser
        import webbrowser
        webbrowser.register('msedge', None, webbrowser.GenericBrowser('/usr/bin/msedge'))
        c.NotebookApp.browser = 'msedge'
        
      • 找到并修改
        • c.ServerApp.use_redirect_file = False
      • 进行更多修改
        • c.ServerApp.root_dir = '~/Python'
        • c.ServerApp.notebook_dir = '~/Python'
        • 然而: 然而没有用, 还是老老实实改回来吧
    • 参考文章
  • 已经在.bashrc里设置了快捷命令, 命令行输入jl即可打开jupyterlab
    • alias jl="python -m jupyterlab --notebook-dir='~/Python'"
  • 可以用jupyterthemes(pip安装的)调整lab的页面, 还没有尝试
    • pip装上去之后咋就不能打开lab了, 不知道咋调了调又好了
    • 不敢动了不敢动了就这吧
  • 问题: 2021.02.02
    • 电脑启动后直接输入jl发生无法启动的情况
    • 重新输入了好几次, 但是也没有用
    • 然后有尝试打开了一次, 自己就好了
    • 好奇怪啊?!?!?!?
  • 问题: 2021.02.04
    • wsl命令行无法打开msedge
      • 发现/mnt/c/路径无法进入, 两种解决方法
      • 重启wslwsl -t <DistributionName>
      • 重新挂载C盘
        • sudo umount /mnt/c
        • sudo mount -t drvfs C:\\ /mnt/c
        • 目前不懂这几行是干啥的
    • 可以进入浏览器, 但是无法正常显示lab
  • Kite自称unavailable了, 但是还是能够在网页代码中找到对应版本的下载链接
  • home/students/nqhq/jupyterlab.txt
  • 最后更改: 2021/09/07 19:20
  • 由 鸟雀呼晴