python - GCP AI Notebook %pip 安装在 PATH 之外 + 无法更改路径
问题描述
我正在尝试使用GCP 的 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
应该按预期工作。
推荐阅读
- python - 如何使用 Selenium (Python) 从时间标签中提取文本
- pytorch - 来自对称矩阵的复特征值 (Pytorch)
- python - 基于其他列创建新列
- javascript - 在 Safari 中使用从 video.srcObject 切换到 video.src 时出现黑屏
- azure-powershell - 使用 Powershell AZ 更改 Azure 负载均衡器规则上的 BackendAppressPool
- python - 学生姓名未定义错误
- aws-lambda - 使用 Axios 从 React 前端连接 API Gateway 和 Lambda 时出现 CORS 问题
- performance - ssl握手过程中是否涉及到客户端Lsass.exe进程?
- javascript - 如果日期相同,则不调用输入日期 onchange 事件
- react-native - 在 React native Expo 中使用别名作为文件路径