我已经使用pyenv为我的项目创建了一些virtualenv,几个月前,它似乎产生了一些令人困惑的问题。
每次当我进入我设置venv的目录时,它看起来是有效的,但目前不会有效
root@VM-4-7-debian:~# cd /www/wwwroot/FFXIVBOT
(venv-ffxivbot) root@VM-4-7-debian:/www/wwwroot/FFXIVBOT# pyenv versions
system
3.8.9
3.8.9/envs/venv-ffxivbot
3.8.9/envs/venv-maibot
3.8.9/envs/venv-telegram
3.8.9/envs/venv-temp
3.9.12
* venv-ffxivbot (set by /www/wwwroot/FFXIVBOT/.python-version)
venv-maibot
venv-telegram
venv-temp
(venv-ffxivbot) root@VM-4-7-debian:/www/wwwroot/FFXIVBOT# python --version
Python 2.7.16
(venv-ffxivbot) root@VM-4-7-debian:/www/wwwroot/FFXIVBOT# ~/.pyenv/versions/venv-ffxivbot/bin/python --version
Python 3.8.9
(venv-ffxivbot) root@VM-4-7-debian:/www/wwwroot/FFXIVBOT#
这是我的.bashrc
:中的设置
export NVM_DIR="/www/server/nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
export PATH="~/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
export PATH="$PATH:/usr/local/go/bin:~/go/bin"
export HISTTIMEFORMAT="%d/%m/%y %T "
export PROMPT_COMMAND="history -a; $PROMPT_COMMAND"alias php='php -c /www/server/php/74/etc/php-cli.ini'
alias php74='php74 -c /www/server/php/74/etc/php-cli.ini'
我真的不知道为什么会这样。
我的路径:
root@VM-4-7-debian:~# echo $PATH
/root/.pyenv/plugins/pyenv-virtualenv/shims:~/.pyenv/bin:/www/server/nvm/versions/node/v14.16.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-11-oracle/bin:/usr/lib/jvm/java-11-oracle/db/bin:/usr/local/go/bin:~/go/bin
root@VM-4-7-debian:~#
当我试图更换时,我刚刚修复了它eval "$(pyenv init -)"
进入eval "$(pyenv init --path)"
在我的.bashrc
中。
我认为这是因为pyenv更改了将在.bashrc
中写入的命令。
pyenv说,这两个不同的设置将在他的自述中写入.bashrc
,而现在eval "$(pyenv init -)"
可能是错误的。