Anaconda 升级时的软件包可用性
Packages availability on Anaconda upgrade
我们正在将旧版本的 Anaconda 作为包裹下载到我们的 Hadoop cloudera 集群上,并希望将其升级到最新版本。在旧版本中,默认情况下,我们没有找到我们的数据科学用例所需的包 tensorflow、geopandas、noaa_sdk、thrift_sasl、gensim 和其他一些包。我们已经在集群中手动安装了它们。
我的问题是,如果我升级 Anaconda,手动安装的软件包是否可用?还是我必须重新安装它们?
我假设您使用 Cloudera 包裹在 hadoop 节点上安装了 Anaconda?
https://www.cloudera.com/downloads/partner/anaconda.html
如果是,那么您是对的,您必须重新安装在 hadoop 节点上安装的所有内容。
Cloudera 将包裹视为“immutable”——它们的状态不应改变。因此,当您在地块上安装某些东西或以任何方式更改它们时,预计您所做的更改可能会丢失。 (例如包裹重新部署,因为它会再次取消 tar 包裹)同样适用于升级 - 新的 Anaconda 版本仅附带一个新的 tar 文件(包裹基本上就是这样,带有一些元数据信息).
如果您有兴趣管理 Python 环境 - 查看 conda
虚拟环境 - https://conda.io/docs/user-guide/overview.html
,或 conda-pack
以 Spark on YARN 为例 - https://conda.github.io/conda-pack/spark.html
我们目前正在将所有 Spark 作业迁移到 conda
环境,而不是依赖 Anaconda 包裹。
PS。我注意到您为此主题使用了 python-2.7
标签。请注意,免费的 Anaconda Cloudera 包裹(star 与 Anaconda 5 版本配套)不再提供 Python2
。它会随 Python3
一起出现。谨防!这种变化让我们措手不及。这是迁移到 conda
的另一个原因,因为我们现在可以根据项目轻松地在 Python2
和 Python3
之间切换。
我们正在将旧版本的 Anaconda 作为包裹下载到我们的 Hadoop cloudera 集群上,并希望将其升级到最新版本。在旧版本中,默认情况下,我们没有找到我们的数据科学用例所需的包 tensorflow、geopandas、noaa_sdk、thrift_sasl、gensim 和其他一些包。我们已经在集群中手动安装了它们。
我的问题是,如果我升级 Anaconda,手动安装的软件包是否可用?还是我必须重新安装它们?
我假设您使用 Cloudera 包裹在 hadoop 节点上安装了 Anaconda?
https://www.cloudera.com/downloads/partner/anaconda.html
如果是,那么您是对的,您必须重新安装在 hadoop 节点上安装的所有内容。
Cloudera 将包裹视为“immutable”——它们的状态不应改变。因此,当您在地块上安装某些东西或以任何方式更改它们时,预计您所做的更改可能会丢失。 (例如包裹重新部署,因为它会再次取消 tar 包裹)同样适用于升级 - 新的 Anaconda 版本仅附带一个新的 tar 文件(包裹基本上就是这样,带有一些元数据信息).
如果您有兴趣管理 Python 环境 - 查看 conda
虚拟环境 - https://conda.io/docs/user-guide/overview.html
,或 conda-pack
以 Spark on YARN 为例 - https://conda.github.io/conda-pack/spark.html
我们目前正在将所有 Spark 作业迁移到 conda
环境,而不是依赖 Anaconda 包裹。
PS。我注意到您为此主题使用了 python-2.7
标签。请注意,免费的 Anaconda Cloudera 包裹(star 与 Anaconda 5 版本配套)不再提供 Python2
。它会随 Python3
一起出现。谨防!这种变化让我们措手不及。这是迁移到 conda
的另一个原因,因为我们现在可以根据项目轻松地在 Python2
和 Python3
之间切换。