【问题标题】:Install shared pyenv versions available to all users安装可供所有用户使用的共享 pyenv 版本
【发布时间】:2019-05-24 12:49:14
【问题描述】:

我有一个 shell 服务器,由从事自己项目的研究人员占用,有他们自己需要的 python 版本和 python 库。虽然有很多重叠,特别是在所需的 python 版本中,我发现我们在安装了 ma​​ny 多个相同版本的 python 副本的主目录中浪费了大量空间.

我想找到一种体面的方式来全局安装 pyenv versions,并允许所有用户为自己的 envs 查找/使用它们。 pyenv 似乎只使用 PYENV_ROOT 来查找版本的安装位置,并且没有一个独立的类似 PATH 的变量来允许版本的多个搜索路径。它还将envs 放在python 版本目录中,这似乎与共享版本不兼容。

当然,其他人以前必须解决这个问题。有没有人找到成功让用户共享 pyenv 版本的方法?

【问题讨论】:

  • 你找到好的解决方案了吗@mpounsett ?

标签: python pyenv


【解决方案1】:

此时(2020 年 10 月),目录 ~/.pyenv/versions 列出了可供用户使用的 Python 版本:

> ls ~/.pyenv/versions
2.7.18  3.5.9  3.6.10  3.7.7  3.8.3  3.8.5  venv3.7

您可以使用指向实际内容所在位置的软链接共享整个 ~/.pyenv/versions 目录内容或单个版本。

> ln -s ~someotheruser/.pyenv/versions/3.8.5 ~/.pyenv/versions/my3.8
> ln -s /some_shared_dir/3.5.9 ~/.pyenv/versions/my3.5

请注意,共享一个版本的所有用户都可能受到共享该版本的其他用户的操作的影响。

【讨论】:

  • 由于环境存储在版本目录中,这不会阻止用户基于另一个用户拥有的版本创建环境吗?这似乎违背了我的问题的目的。我的问题解决了这个问题。我错过了什么吗?
  • Python 版本将被全局安装,由特权用户管理,普通用户只能对版本目录进行写访问。我看到这个 hack 的问题是几个版本的访问权限必须太开放。所有这一切都是一个非常危险的混乱。我已经使用了这个 hack 很短的时间,但除了我对避免文件重复的痴迷之外,并没有真正需要它。然后我意识到我正处于厄运的道路上......我已经回答了你的问题,但我建议你尝试其他方法来解决你的问题。
  • @mpounsett,您在强制 pyenv 将 python 版本安装在与个人用户环境存储位置不同的共享系统位置上是否取得了任何进展?有这个建议:github.com/pyenv/pyenv/issues/820#issuecomment-638485737
  • 没有任何用处。由于 pyenv 的环境是在封闭的版本文件夹中创建的,共享版本似乎没用。
猜你喜欢
  • 1970-01-01
  • 2020-08-23
  • 2021-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-20
相关资源
最近更新 更多