PyODPS 安装常见问题解决

问答者
• 阅读 3218

摘要: 本文将用户安装 PyODPS 时遇到的常见问题列举如下,希望在遇到类似问题时可供借鉴。在参考下列步骤之前,请首先尝试卸载并重装 PyODPS。卸载的步骤为执行“pip uninstall pyodps”。

点此查看原文:http://click.aliyun.com/m/41050/

本文将用户安装 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/ques... ,重启机器,并在重启中按 ⌘+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

点赞
收藏
评论区
推荐文章
blmius blmius
4年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
7个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
芝士年糕 芝士年糕
3年前
完全卸载nginx及安装的详细步骤
前言在开局配置Nginx时有可能会配置错误,报各种错误代码。看不懂或者懒得去看这个报错时,其实最简单的方式是卸载并重装咯。今天就带大家一起学习下,如何彻底卸载nginx程序。一、卸载NGINX卸载nginx程序的详细步骤1、停止Nginx软件/usr/local/nginx/sbin/nginxsstop如果不知道nginx安装路径,可以通过执行ps命
Wesley13 Wesley13
3年前
VBox 启动虚拟机失败
在Vbox(5.0.8版本)启动Ubuntu的虚拟机时,遇到错误信息:NtCreateFile(\\Device\\VBoxDrvStub)failed:0xc000000034STATUS\_OBJECT\_NAME\_NOT\_FOUND(0retries) (rc101)Makesurethekern
Stella981 Stella981
3年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Easter79 Easter79
3年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Wesley13 Wesley13
3年前
(绝对有用)iOS获取UUID,并使用keychain存储
UDID被弃用,使用UUID来作为设备的唯一标识。获取到UUID后,如果用NSUserDefaults存储,当程序被卸载后重装时,再获得的UUID和之前就不同了。使用keychain存储可以保证程序卸载重装时,UUID不变。但当刷机或者升级系统后,UUID还是会改变的。但这仍是目前为止最佳的解决办法了,如果有更好的解决办法,欢迎留言。(我整理的解决办法的参
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable