本文将用户安装 PyODPS 时遇到的常见问题列举如下,希望在遇到类似问题时可供借鉴。在参考下列步骤之前,请首先尝试卸载并重装 PyODPS。卸载的步骤为执行“pip uninstall pyodps”。
1. Warning: XXX not installed, ......
Warning 不是 Error,Warning 不是 Error,Warning 不是 Error,重要的事情说三遍!
参考 Warning 文字,它将告诉你需要什么组件,你可以使用 pip 命令进行安装。
2. 安装后 import odps 报 no module named odps
这说明 odps package 无法被加载。这里有几种可能对的情形
-
安装有多个 Python 版本。这常见于 Mac 下使用 Homebrew 安装新的 Python 包(而不是系统自带的 Python),或者同时安装了 Python 2 和 Python 3,或者同时安装了 CPython 和 Anaconda / Miniconda,而当前使用的 Python 下并未安装 PyODPS。为确认此问题,请遵循下列步骤:
- 打开 Python 命令行;
- 执行
import site; print(site.getsitepackages())
; - 检查输出的每个路径中是否存在名为“odps”的文件夹。若不存在,确认此问题。
如果问题确认,请使用命令行定位到需要安装的 Python 路径,然后执行 ./python -m pip install pyodps[full]
。
在 Mac / Linux 下可使用
find / -regex '.*/python[^\./-]*' 2>/dev/null
查找本机到底安装了几个 Python。
- Search Path(通常是当前目录)中包含一个 odps.py 或一个包含 __init__.py 的名为 odps 的文件夹。该文件可能是你自己不小心创建的,或者曾经安装过一个名为“odps”的 Python 包。对于前者,请检查后将该文件更名。对于后者,请尝试使用“pip uninstall odps”进行删除。
3. 安装后 "from odps import *" 报 cannot import name ODPS
首先需要检查当前工作路径下是否存在一个文件名为“odps.py”的文件。如果存在,请改名后再 import,否则可参照 2 中的步骤进行排查。
4. 安装后 import odps 报 cannot import module odps / odps.xxxx
这通常是由于 PyODPS 遇到了依赖问题。请联系 PyODPS 技术支持钉钉群(11701793),我们将尝试修复该问题。
尝试pip install -U jupyter
可以解决此场景下的大多数问题。
5. 安装时报 Syntax Error
Python 版本过低。PyODPS 主流支持 Python 2.7.6+ / Python 3.3+,并同时支持 Python 2.6。Python 2.5 及以下版本不被支持。建议使用主流支持的版本。
6. Mac 上安装时报 Permission denied
尝试使用
sudo pip install pyodps
7. Mac 上 sudo 安装仍然报 Operation not permitted
这是由于系统完整性保护导致的。参考 http://stackoverflow.com/questions/32659348/operation-not-permitted-when-on-root-el-capitan-rootless-disabled ,重启机器,并在重启中按 ⌘+R。此后在终端中运行
csrutil disable
reboot
此后再行安装。
8. 使用时报 sourceIP is not in the white list
存在白名单保护,可咨询 Project Owner。
9. Jupyter 前端 UI 有问题
可以尝试卸载并重新安装 jupyter、ipywidgets 以及 widgetsnbextension,也可以尝试在 bash 执行
jupyter nbextension enable pyodps/main
如有问题,PyODPS 技术支持钉钉群,群号 11701793