Python Conda环境混乱(例如:健身房问题)

时间:2020-01-10 23:44:38

标签: python pip conda environment

尝试使用Gym Open-ai软件包(以及其他)时,我遇到了一些问题, 我不太了解哪种结构。

例如:

我试图在三个不同的conda环境中安装健身房。

一种方法是 点安装健身房 另一个是: git clone https://github.com/openai/gym.git 光盘健身房 pip install -e。

三分之一是: pip3安装健身房 在某些环境中,我会在其他环境中使用Python2。也许是Python 3.7

甚至还有更多安装可能性:

sudo pip安装健身房

(如果我们考虑在内,甚至可以进行更多排列, 如果我们激活一个环境或不激活任何环境)。 对我来说,事情变得更加复杂,因为我试图用 Ubuntu中的非管理员用户帐户,以便conda(或者用户本身无法在/ usr目录中安装任何文件)。 我开始测试其中的一些可能性和案例,因为安装了一些库 (例如keras-rl)似乎需要访问通用资源(/ usr / dir。),即使 安装在本地conda环境中。但是如果是这样的话: 不同的环境是否相互作用? 还有,如果要在conda环境中以本地用户身份安装软件包,并且 然后以管理员身份安装pip或pip3。管理员安装 覆盖(或否决或交互)环境安装(或其一部分)?

尝试不同的可能性(或更多:尝试 查找没有产生任何错误的安装,例如“找不到健身房”或 “属性错误...”)确实发生了以下错误:

Found existing installation: gym 0.15.4
Can't uninstall 'gym'. No files were found to uninstall.

执行后:

sudo pip3 install gym --force

因此,在此基础上,我的问题将是:

(1)是否有建立良好conda环境的最佳实践 (通常不会交互,尤其是某些软件包 需要sudo权限)?

并且(2)如果某些环境与 一般(sudo)资源,如何以某种方式解决它们, 可以测试和建立彼此之间不同的环境?

注释: 有一个类似的问题: conda environment pip is trying to install dependencies globally 前段时间,但是建议不要使用sudo,似乎很难遵循, 如果某些程序包需要访问全局资源。 因此,我想更具体地寻求一种解决交互的方法。

2 个答案:

答案 0 :(得分:2)

您不应使用sudo在conda环境中安装某些内容。很可能所使用的pip命令并非源于实际的(已激活?)环境,而是使用了系统范围内的实际pip。因此,您将需要使用sudo来安装到系统拥有的前缀。

您可以通过调用“哪个点”来检查您是否正在使用所需的点。路径应指向您的环境。如果没有,则应在conda env内安装pip。

答案 1 :(得分:1)

我以前有同样的问题。我激活了conda环境并在本地安装了pip3,因为conda不支持它。警告:可能会破坏某些包装。

在安装任何东西之前,应始终激活conda环境,否则它最终将被全局安装。

在不使用sudo的情况下安装新的conda环境。如果它要求sudo,则需要删除整个内容并进行一些清理。它非常容易忘记,永远不要使用sudo!

您可以尝试安装较新版本的python3.x(无论如何,Python 2很快就会获得历史记录。他们说的是pip = python2,pip3 = python3。并回答您的新问题之一,如果通过全局安装会搞乱事情,而不是在conda之外。

google pycharm和conda。在那里,您可以使用它使用python安装3种不同类型的环境。实际上,这是一个很好的Python编码编辑器。当我们谈论清理路径等时,其余的与Linux相关。

我没有更好的补充!希望你做对了。