Python中使用pyenv创建虚拟环境时,为什么会有两个显示?
* system (set by /home/wpp/.pyenv/version)
3.5.2
3.5.2/envs/py3env
py3env
查资料说: 其中的 py3env 是一个链接文件,位于~/.pyenv/versions/,指向~/.pyenv/versions/3.5.1/envs/py3env
其实也没什么,只是强迫症患者会觉得真的不好
ps:安装一个 python 版本的虚拟环境,还要在本地先装该版本,觉得也很不好
ps:pyenv 整体真的很方便
ps:我好想明白了,py3env 是一个链接文件,虚拟环境还是创建在 3.5.2/envs/py3envs,我看了两个文件夹,好像两个完全一样,好像创建了 2 份,不明白求解释
Python中使用pyenv创建虚拟环境时,为什么会有两个显示?
你是不是用 pyenv 命令创建了 python 虚拟环境 py3env ?用命令创建就是这样子的。
我一般是不用 pyenv 而是直接使用 virtualenv 命令创建。
我明白你的问题。当你用 pyenv virtualenv 创建虚拟环境后,执行 pyenv versions 可能会看到类似这样的两个条目:
* system (set by /home/user/.pyenv/version)
3.9.7
3.9.7/envs/myenv
myenv
这很正常,不是错误。pyenv 就是这么设计的:
-
3.9.7/envs/myenv:这是虚拟环境的“物理”存储位置。它指向~/.pyenv/versions/目录下的一个具体文件夹,里面存放着这个虚拟环境的完整Python解释器和库。你可以把它看作是虚拟环境的“安装目录”或“基础路径”。 -
myenv:这是一个“快捷方式”或“符号链接”。它指向3.9.7/envs/myenv,是给你用的友好名称。当你运行pyenv local myenv或pyenv global myenv时,实际上是通过这个快捷方式来激活对应的环境。
简单来说:3.9.7/envs/myenv 是仓库,myenv 是门牌号。pyenv 同时显示两者是为了让你清楚看到底层结构和可用别名,通常你只需要关心和使用短名称(如 myenv)来操作。
总结建议:这是正常设计,使用短名称操作即可。
是,那你使用 virtualenv 创建,用 pyenv 进入虚拟环境吗吗?
source py3env/bin/active 进入虚拟环境
开发用 anaconda,发布项目用 virtualenv

