首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >conda env创建退出与验证事务:/已终止

conda env创建退出与验证事务:/已终止
EN

Stack Overflow用户
提问于 2019-08-12 21:27:02
回答 1查看 4.2K关注 0票数 4

我试图通过conda on Ubuntu18从现有环境创建一个环境。我希望通过导出一个environment.yml文件,然后使用它来创建另一个环境来实现这一点。问题是,在没有错误消息的情况下,在创建环境之前它就会终止。

代码语言:javascript
复制
(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. 这是一个多用户anaconda安装在linux上。
  2. 根conda环境位于/opt/conda/
  3. 用户在conda env create中使用根conda env create二进制文件。
  4. conda 4.7.11

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

在发表了非常有用的评论之后,我看到了很多权限错误。我很有可能从这里得到它。如果我想出了解决方案,当然应该考虑寻找详细的标志在这里更新:

代码语言:javascript
复制
... (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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-12 22:26:22

因此,答案是,这是由于权限问题如何安装我的anaconda。我最初将它作为root安装到/opt/conda中,这使得一些特性(包括环境创建)显然无法工作。

有趣的是,我把服务器吹走了,重新创建了它(它有一个可安装的游戏手册来设置它),而且安装(尽管仍然是root用户拥有)并没有我在这个问题中问到的问题。也许新版本的conda在创建环境时没有这个问题。

的形式记录我在这里所做的事情是进度;但是,如果有人知道我最近的观点有什么问题,我会把它标记为正确的答案!

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

代码语言:javascript
复制
(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文档,我应该能够创建环境。但我不能。现在的错误是:

代码语言:javascript
复制
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

因为用户是拥有整个目录的组的一部分,所以很让人困惑。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57468456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档