pyenv的安装和使用

时间:2025-01-22 08:29:06

因为个人喜好的原因,希望各种程序都可以分开的干净一些。尤其python,不同的项目需要使用不同的python版本。

所以选择了pyenv这个版本管理的插件。

说实话,这个插件还是很不错的,全都用bash脚本编写,不需要安装其他的插件,可以在github上使用自动安装的项目。链接在此

不过在使用pyenv之后与到了一堆问题。不过之后一个个都慢慢解决,发现这些问题都和pyenv无关,而是自己系统的问题(ubuntn)。

首先在下载完之后,会出现一个TLS的错误,所以感觉这是openssl库的问题。但是系统默认安装openssl了啊。然后在网上搜了一把,发现这是没有安装libssl-dev

然后用apt-get命令安装,发现又遇到了困扰之前很久的

ubunntu安装软件时出现,无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系


因为在提示中发现要安装的东西总是依赖关系不满足,给出的理由似乎时系统中已经安装了高版本的插件(在我看来是高版本的,其实并不是),所以我也不敢动。。。
因为怕系统出问题,所以也不敢卸载重新安装啊什么的。
然后去百度,也不知道哪个解决方案是正确的。。。
就随便试一个把。给的方法是在更新源理没有选中 重要的更新推荐的更新两项,直选中了一些其他软件项下面的更新源。
结果证明,就是这么回事儿。。。
然后用apt-get install libssl-dev命令,没有讨厌的依赖不满足的提示了。
然后用pyenv install命令,重新下载安装(这是pyenv可以改进的一个地方,之前如果下载过一个版本之后,重新安装的时候还会重新下载。我用的校园网,走流量的,就比较坑了)
这次没有error了,但是有几个warning。。。
然后继续搜,从一篇文章中,最后的地方给出了python安装时的必要库。注意是python安装必要的库。python在安装时是下载的源代码然后在本地用llvm编译的。
下面是安装必要库的命令:

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm

安装几个必要库之后,在pyenv install之后就是没有warning的成功拉

这是前辈的文章,可能还有其他的问题,可以参考