Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 安装可供所有用户使用的共享pyenv版本_Python_Pyenv - Fatal编程技术网

Python 安装可供所有用户使用的共享pyenv版本

Python 安装可供所有用户使用的共享pyenv版本,python,pyenv,Python,Pyenv,我有一个shell服务器,所有的研究人员都在自己的项目中工作,拥有自己所需的python版本和python库。但是有很多重叠,特别是在所需的python版本中,我发现安装了许多相同版本python的多个副本,在主目录中浪费了大量空间 我想找到一种合适的方法在全球范围内安装pyenv版本,并允许所有用户为自己的env查找/使用它们。pyenv似乎只使用pyenv_ROOT来查找安装版本的位置,并且没有独立的PATH-like变量来允许多个版本的搜索路径。它还将envs放在python版本目录中,这

我有一个shell服务器,所有的研究人员都在自己的项目中工作,拥有自己所需的python版本和python库。但是有很多重叠,特别是在所需的python版本中,我发现安装了许多相同版本python的多个副本,在主目录中浪费了大量空间

我想找到一种合适的方法在全球范围内安装pyenv
版本
,并允许所有用户为自己的
env
查找/使用它们。pyenv似乎只使用pyenv_ROOT来查找安装版本的位置,并且没有独立的PATH-like变量来允许多个版本的搜索路径。它还将
envs
放在python版本目录中,这似乎与共享版本不兼容

不过,肯定有其他人以前解决过这个问题。是否有人找到了让用户成功共享pyenv版本的方法?

此时(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版本将被全局安装,由特权用户管理,而普通用户将只能对版本目录进行写访问。我看到的这个黑客的问题是,对几个版本的访问权限必须过于开放。所有这些都是非常危险的混乱。我已经使用这个黑客很短一段时间了,但除了我对避免文件复制的痴迷之外,我并没有真正的需要它。然后我意识到我正在走向末日。。。我回答了您的问题,但我建议您尝试其他方法来解决您的问题。@mpunset,您是否在强制pyenv将python版本安装在与单个用户环境存储位置不同的共享系统位置方面取得了任何进展?有这样一个建议:没有任何用处。由于pyenv的环境是在封闭的版本文件夹中创建的,所以共享版本似乎没有用处。