开发者社区 > 大数据与机器学习 > 大数据计算 MaxCompute > 正文

python3.7开发udtf的本地调试时提示找不到pyou的问题

在Windows本地开发python3.7udtf的时候idea报错

Studio use script pyou to local run python UDF, but it not found in path C:\Users\iyb-renfucai\AppData\Local\Programs\Python\Python37\Scripts\pyou, please check if you have installed pyodps here

在社区看到了这个文章 链接文字 image.png

说是只支持python2,不支持Python3.

但是现在主流的开发环境都是Python3+,而且maxcompute线上生产环境也是python3+了,这样这个本地调试的功能就失去了意义。

请问,现在的情况是,已经支持了Python3+的本地调试功能而其他原因造成报错呢,还是只支持2.7。

如果现在只支持2.7,是否有增加3+的计划?毕竟,生产上面主流还是Python3了。

望解惑!

展开
收起
funicia 2023-06-25 10:37:51 170 0
4 条回答
写回答
取消 提交回答
  • 月移花影,暗香浮动

    出现这个问题的原因可能是您使用的udtf中调用了第三方的Python库pyodbc,但是本地环境中没有安装该库。解决这个问题的方法如下:

    1. 确认是否已经安装了pyodbc库。可以使用以下命令:
    pip list
    

    如果没有pyodbc库,可以使用以下命令安装:

    pip install pyodbc
    
    1. 如果您已经安装了pyodbc库,但是还是提示找不到该库,那么可能是因为您的Python解释器与UDTF运行的Python版本不一致导致的。解决方法是:

    在UDTF中明确指定Python解释器的路径。您可以使用以下代码获取Python解释器的路径:

    import sys
    print(sys.executable)
    

    然后在UDTF中使用该路径指定Python解释器即可。例如:

    CREATE FUNCTION my_udtf as 'pandas_udtf.py::my_udtf' USING 'python /usr/local/bin/python3';
    

    注意,以上路径只是示例,实际需要根据您的Python解释器路径来确定。

    2023-06-25 14:36:43
    赞同 展开评论 打赏
  • 值得去的地方都没有捷径

    目前的情况是,在MaxCompute上使用Python UDTF时,仅支持Python 2.7版本。由于社区贡献的文章可能存在过时的信息,因此可能会导致误导。很抱歉给您带来困惑。

    对于Python 3.x版本的支持,目前并没有具体的计划。但是,您仍然可以继续在本地开发环境中使用Python 3.x进行开发,并将代码迁移到Python 2.7上以在MaxCompute上运行。

    如果您有任何更多的疑问,建议您联系MaxCompute团队以获取最新的信息和指导。他们可以提供关于支持Python 3.x版本的计划和进展的更准确答案。

    2023-06-25 12:13:55
    赞同 展开评论 打赏
  • 这个问题可能是由于您没有安装 pyodps 或者 pyou 没有被正确安装导致的。

    您可以尝试以下几个步骤来解决这个问题:

    1. 确认您已经正确安装了 pyodps。您可以在命令行中输入 pip show pyodps 来检查是否已经安装了 pyodps。

    2. 如果您已经安装了 pyodps,那么请检查您的 PATH 环境变量中是否包含了 pyou 所在的路径。您可以在命令行中输入 echo %PATH% 来查看 PATH 环境变量的值。

    3. 如果您没有安装 pyodps 或者 PATH 环境变量中没有包含 pyou 所在的路径,那么请尝试重新安装 pyodps 并将 pyou 所在的路径添加到 PATH 环境变量中。

    2023-06-25 12:01:36
    赞同 展开评论 打赏
  • 发表文章、提出问题、分享经验、结交志同道合的朋友

    同学你好,阿里云Max官方已经用相关解决方案,具体使用操作参考文档 image.png

    2023-06-25 11:09:54
    赞同 展开评论 打赏

MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载