我真的想要访问pandas 0.19中的一些更新函数,但Azure ML studio使用pandas 0.18作为Anaconda 4.0软件包的一部分。有没有办法更新"执行Python脚本"中使用的版本?组件?
答案 0 :(得分:6)
我提供以下步骤,以便您展示如何更新Execute Python Script
中的pandas库版本。
第1步 :使用virtualenv
组件在系统中创建独立的python运行时环境。请先使用命令pip install virtualenv
安装它如果你没有它。
如果您成功安装它,您可以在python / Scripts文件中看到它。
<强> 步骤2 强>:运行commad创建独立Python运行时环境
第3步 :然后进入创建目录的Scripts文件夹并激活它(这一步很重要,不要错过)< / p>
请不要关闭此命令窗口并使用pip install pandas==0.19
在此命令窗口中下载外部库。
第4步 :将Lib / site-packages文件夹中的所有文件压缩成zip包(我称之为pandas - package here)
第5步 :将zip包上传到Azure机器学习工作空间数据集。
具体步骤请参阅Technical Notes。
成功后,您将在DataSet列表中看到上传的包
第6步 :在执行Python脚本模块中定义方法azureml_main
之前,您需要删除旧的pandas
模块和放大器;它的依赖关系,然后再次导入pandas
,如下面的代码。
import sys
import pandas as pd
print(pd.__version__)
del sys.modules['pandas']
del sys.modules['numpy']
del sys.modules['pytz']
del sys.modules['six']
del sys.modules['dateutil']
sys.path.insert(0, '.\\Script Bundle')
for td in [m for m in sys.modules if m.startswith('pandas.') or m.startswith('numpy.') or m.startswith('pytz.') or m.startswith('dateutil.') or m.startswith('six.')]:
del sys.modules[td]
import pandas as pd
print(pd.__version__)
# The entry point function can contain up to two input arguments:
# Param<dataframe1>: a pandas.DataFrame
# Param<dataframe2>: a pandas.DataFrame
def azureml_main(dataframe1 = None, dataframe2 = None):
然后您可以看到日志中的结果,如下所示,首先打印旧版本0.14.0
,然后从上传的zip文件中打印新版本0.19.0
。
[Information] 0.14.0
[Information] 0.19.0
你也可以参考这些主题:Access blob file using time stamp in Azure和reload with reset。
希望它对你有所帮助。
答案 1 :(得分:0)
使用Docker设置环境时,Azure机器学习工作台可以提供更大的灵活性。我开始使用该工具了。