首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置Pyenv的路径

设置Pyenv的路径
EN

Stack Overflow用户
提问于 2020-08-26 04:18:52
回答 1查看 5.7K关注 0票数 1

我试图在服务器.bashrc文件中设置Pyenv的加载路径。

我遵循这个教程,它要求我们将pyenv设置为加载路径

但是,在我的.bashrc文件中,我已经看到以下命令

代码语言:javascript
复制
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
 eval "$(pyenv init -)"
fi

它与上面共享的教程中提供的下面的内容有什么不同?

代码语言:javascript
复制
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

我可以知道if...fi块在上面显示的代码中做了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-27 07:39:39

这主要是bash的语法。

#1.

代码语言:javascript
复制
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"

等于

代码语言:javascript
复制
export PATH="$HOME/.pyenv/bin:$PATH"

与第一种情况一样,您将声明一个名为PYENV_ROOT的变量,然后使用它。

#2.

iffi是使用bash编写if-语句的方式。

#3.

command -v pyenv用于执行命令(pyenv),在本例中,-v选项打印路径名。

代码语言:javascript
复制
$ command -v python
/usr/bin/python
代码语言:javascript
复制
if command -v pyenv 1

意味着如果找到命令pyenv,则执行eval "$(pyenv init -)"

#4.

在这里,>/dev/null 2>&1;用于丢弃输出。阅读更多关于它的这个答案

因此,两个代码块几乎是相同的,唯一的区别是:第一个代码块有一个if-block,第二个代码块有一个额外的命令eval "$(pyenv virtualenv-init -)"

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63590428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档