GCP AI Notebook %pip 安装在 PATH 之外 + 无法更改路径
GCP AI Notebook %pip install outside of PATH + can't change path
我正在尝试使用 GCP's AI Notebooks。但是,当您 %pip install
一个包时,它会安装在系统路径之外,您无法从 shell 调用它。试图更改默认路径,但我做错了什么。将不胜感激。
这是一个例子:
[1] %pip install kaggle --user
... Installing collected packages: kaggle
WARNING: The script kaggle is installed in '/home/jupyter/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed kaggle-1.5.6
Note: you may need to restart the kernel to use updated packages.
#restarted the kernel
[2] import kaggle
#works
[3] !pip show kaggle
Name: kaggle
Version: 1.5.6
...
Location: /home/jupyter/.local/lib/python3.5/site-packages
...
[4] !kaggle -v #doesn't work
/bin/sh: 1: kaggle: not found
[5] !echo $PATH
/usr/local/cuda/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
[6] !export PATH=$PATH:/home/jupyter/.local/lib/python3.5/site-packages
#no output
[7] !echo $PATH
/usr/local/cuda/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
# path is unchanged
当我在 shell 中尝试相同的 !export
行时,路径发生变化并且 shell 找到了我的可执行文件。我在笔记本上试了一下,没有。
Pip 在这里告诉您具体操作:
WARNING: The script kaggle is installed in '/home/jupyter/.local/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
您可以使用以下内容从 Jupyter 中附加到环境变量:
os.environ['PATH'] += os.pathsep + '/home/jupyter/.local/bin'
之后 !kaggle -v
应该会按预期工作。
另一种选择是在jupyter notebook启动脚本中添加at路径,这样就不用每次启动notebook时都添加这些行了:
打开一个终端,然后执行
cd ~/.ipython/profile_default/startup/
nano startup.py
在此文件中,添加
import os
os.environ['PATH'] += os.pathsep + '/home/jupyter/.local/bin'
退出并保存 (ctrl+x) 瞧!
我正在尝试使用 GCP's AI Notebooks。但是,当您 %pip install
一个包时,它会安装在系统路径之外,您无法从 shell 调用它。试图更改默认路径,但我做错了什么。将不胜感激。
这是一个例子:
[1] %pip install kaggle --user
... Installing collected packages: kaggle
WARNING: The script kaggle is installed in '/home/jupyter/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed kaggle-1.5.6
Note: you may need to restart the kernel to use updated packages.
#restarted the kernel
[2] import kaggle
#works
[3] !pip show kaggle
Name: kaggle
Version: 1.5.6
...
Location: /home/jupyter/.local/lib/python3.5/site-packages
...
[4] !kaggle -v #doesn't work
/bin/sh: 1: kaggle: not found
[5] !echo $PATH
/usr/local/cuda/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
[6] !export PATH=$PATH:/home/jupyter/.local/lib/python3.5/site-packages
#no output
[7] !echo $PATH
/usr/local/cuda/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
# path is unchanged
当我在 shell 中尝试相同的 !export
行时,路径发生变化并且 shell 找到了我的可执行文件。我在笔记本上试了一下,没有。
Pip 在这里告诉您具体操作:
WARNING: The script kaggle is installed in '/home/jupyter/.local/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
您可以使用以下内容从 Jupyter 中附加到环境变量:
os.environ['PATH'] += os.pathsep + '/home/jupyter/.local/bin'
之后 !kaggle -v
应该会按预期工作。
另一种选择是在jupyter notebook启动脚本中添加at路径,这样就不用每次启动notebook时都添加这些行了:
打开一个终端,然后执行
cd ~/.ipython/profile_default/startup/
nano startup.py
在此文件中,添加
import os
os.environ['PATH'] += os.pathsep + '/home/jupyter/.local/bin'
退出并保存 (ctrl+x) 瞧!