conda env create退出并正在验证交易:/已终止

时间:2019-08-12 21:27:02

标签: conda

我正在尝试通过Ubuntu18上的conda在现有环境中创建环境。我想通过导出一个environment.yml文件,然后使用该文件来创建另一个环境来实现这一点。问题在于它在创建环境之前就终止了,没有错误消息。

(nenv) nick {~}$ conda env export --name nenv > nenv.yml
(nenv) nick {~}$ sudo su - testusr
testusr@ip:~$ conda env create --name myenv --file /home/nick/nenv.yml 
Collecting package metadata (repodata.json): done
Solving environment: done
Preparing transaction: done
Verifying transaction: / Killed

无论出于何种原因,它始终在“验证交易”时崩溃。我已经在安装到公共路径和另一个安装到用户目录的环境中尝试过此操作。

一些注意事项:

  1. 这是在Linux上安装的多用户anaconda

  2. 根conda环境位于/ opt / conda /

  3. 用户正在使用conda

  4. 中的根conda env create二进制文件
  5. conda 4.7.11

我已经能够在用户之间创建一个共享环境,但是我还想弄清楚如何使用需求文件类型方法(对于JupyterHub内核)为两个不同的用户拥有相同的conda环境的副本。


在非常有帮助的评论之后,我看到有很多权限错误。我可以从这里得到它。绝对应该考虑寻找详细程度标记?如果找到解决方法,将在此处更新:

... (much more ☝️)
DEBUG conda.gateways.disk.create:create_link(363): PermissionError(1, 'Operation not permitted')
DEBUG conda.gateways.disk.create:create_link(367): hard-link failed. falling back to copy
  error: PermissionError(1, 'Operation not permitted')
  src: /opt/conda/pkgs/seaborn-0.9.0-py37_0/info/index.json
  dst: /home/scientist/.conda/envs/nenv/.tmp.index.json.ce11d637
DEBUG conda.gateways.disk.create:create_link(363): PermissionError(1, 'Operation not permitted')
DEBUG conda.gateways.disk.create:create_link(367): hard-link failed. falling back to copy
  error: PermissionError(1, 'Operation not permitted')
  src: /opt/conda/pkgs/anaconda-2019.03-py37_0/info/index.json
  dst: /home/scientist/.conda/envs/nenv/.tmp.index.json.26122231
DEBUG conda.core.link:_get_python_version(812): found in current transaction python version 3.7.3
done
Verifying transaction: ...working... Killed

1 个答案:

答案 0 :(得分:1)

因此,答案是这是由于我的anaconda安装方式存在权限问题所致。最初,我以root用户身份将其安装到/ opt / conda,这使得某些功能(包括创建环境)显然无法正常工作。

很有趣,我炸掉了服务器并重新创建了它(它有一个可设置的剧本),安装(虽然仍由root拥有)没有我在这个问题中问过的同样问题。也许新版本的conda在创建环境时没有这个问题。


正在记录我在这里所做的工作;但是,如果有人从我的最新观点知道出了什么问题,我会将其标记为正确的答案!

遵循此处的指南:https://support.anaconda.com/hc/en-us/articles/360023865574-Multi-User-Anaconda-Installation-on-Linux

(nenv) nick {~}$ ls -al /opt/
total 12
drwxr-xr-x  3 root root 4096 Jul 14 10:22 .
drwxr-xr-x 23 root root 4096 Aug 12 18:45 ..
drwxr-xr-x 26 root root 4096 Aug 12 22:10 conda
(nenv) nick {~}$ sudo chgrp -R developers /opt/conda/
(nenv) nick {~}$ ls -al /opt/
total 12
drwxr-xr-x  3 root root       4096 Jul 14 10:22 .
drwxr-xr-x 23 root root       4096 Aug 12 18:45 ..
drwxr-xr-x 26 root developers 4096 Aug 12 22:10 conda
(nenv) nick {~}$ sudo chmod 770 -R /opt/conda/
(nenv) nick {~}$ ls -al /opt/
total 12
drwxr-xr-x  3 root root       4096 Jul 14 10:22 .
drwxr-xr-x 23 root root       4096 Aug 12 18:45 ..
drwxrwx--- 26 root developers 4096 Aug 12 22:10 conda

在这一点上,根据conda文档,我应该能够创建环境。但是我不能。现在的错误是:

DEBUG conda.gateways.disk.permissions:make_writable(38): tried make writable but failed: /opt/conda/envs/nenv/.tmp.index.json.42434629
PermissionError(1, 'Operation not permitted')
DEBUG conda.gateways.disk.permissions:make_writable(38): tried make writable but failed: /opt/conda/envs/nenv/.tmp.index.json.c45bcb48
PermissionError(1, 'Operation not permitted')
DEBUG conda.gateways.disk.permissions:make_writable(38): tried make writable but failed: /opt/conda/envs/nenv/.tmp.index.json.11a11e9d
PermissionError(1, 'Operation not permitted')
DEBUG conda.core.link:_get_python_version(812): found in current transaction python version 3.7.3
done
Verifying transaction: ...working... Killed

这令人困惑,因为用户是拥有整个目录的组的一部分。