从网络位置导入现有的conda环境

时间:2019-12-18 12:35:36

标签: python anaconda conda

情况简介:

我们有一些运行Windows的图像分析工作站,我可以每小时进行预订。登录后,将从域中加载用户帐户,并自动安装网络驱动器。

我现在正在寻找一种以可管理的方式在这些工作站上安装python的方法,这意味着:

  • 每个用户都希望使用他们自己的一组软件包和依赖项
  • 用户应该有权访问其软件包和依赖项,无论他们预订的是哪个特定工作站。
  • 出于安全性/可维护性,不允许用户在系统上安装任何东西
  • 用户软件包不能集中维护

经过一番谷歌搜索,我想到了以下工作流程:

在所有工作站上为所有用户安装香草水蟒。这将根据需要进行更新/维护。为了给用户带来灵活性,他们将在其网络驱动器上安装一个/多个conda环境。

我开始测试:

在使用

创建环境的PC上,一切似乎都能正常运行
conda create -p Z:\path\to\env\my-env python=3.7 anaconda
conda activate Z:\path\to\env\my-env
pip install somepackages
conda install somemorepackages

我可以从ipython,jupyter笔记本中运行代码...

但是在另一台PC上,我遇到了问题:

我使用conda config --add envs_dirs Z:\path\to\env添加了网络路径。我可以使用conda activate Z:\path\to\env\my-env激活环境。我还可以import个安装在环境中的软件包,但不能安装在基本的anaconda中(我用napari测试过)。 但是,对于其他一些软件包(dask_image.imread),我收到一条错误消息:

警告:此应用程序无法启动,因为它无法在“”中找到或加载Qt平台插件“ windows”。 重新安装该应用程序可能会解决此问题。

我的问题有两个:

    我要选择最可行的方法吗?如果没有,应该怎么做?
  • 如果这是最好的方法,如何解决错误消息?我猜创建的环境缺少某些依赖项或路径,因为我在两个系统上执行。当我用谷歌搜索解决方案时,大多数用户试图将其安装到具有非Unicode字符的文件夹中,因此无济于事。

1 个答案:

答案 0 :(得分:0)

Windows ... PC由IT部门安装,因此驱动器号的分配有些随意。

因此激活环境是可行的,但是环境中写入的绝对路径指向一个不存在的位置(现在错误消息could not find or load ... in ""更加有意义-python尝试从路径)。

解决方法(暂时):我确保驱动器号一致,然后一切正常。

我将测试是否可以安装具有相对路径的环境,因为这样可以一起解决问题。