簡體   English   中英

pyenv global 似乎不適用於 pyenv 2.0.4

[英]pyenv global does not seem to work with pyenv 2.0.4

pyenv global似乎已停止使用新版本的 pyenv。

pyenv --version
pyenv 2.0.4-8-gd209e061
pyenv versions
  system
* 2.7.5 (set by /home/user/horchee/.pyenv/.python-version)
  3.6.5
  3.6.9

pyenv global 3.6.5

pyenv versions
  system
* 2.7.5 (set by /home/user/horchee/.pyenv/.python-version)
  3.6.5
  3.6.9

shelllocal命令似乎可以工作。

知道如何解決這個問題嗎?

我個人看到有幾件事導致了這個問題。

第一個是我也安裝了 Anaconda。 我不得不在 Anaconda 之后移動 pyenv 配置塊。 這解決了這種情況下的問題。

在第二個實例中,我發現了這個問題,這讓我想出如何讓它再次工作:

https://github.com/pyenv/pyenv/issues/2026

基本上我的配置文件中有這一行(在我的例子中是 .zshrc,因為我使用的是 ZSH)最初:

eval "$(pyenv init -)"

然后我把它改成這個,只添加了第一行,它解決了我的問題。

eval "$(pyenv init --path)"
eval "$(pyenv init -)"

在此處的 pyenv README 的高級配置部分中有關於此的詳細信息: https : //github.com/pyenv/pyenv#advanced-configuration

以下是該部分的副本:

高級配置

除非您必須知道 shell 配置文件中的每一行都在做什么,否則請跳過本節。

pyenv init 是唯一一個跨越將額外命令加載到 shell 中的命令。 來自 RVM,你們中的一些人可能反對這個想法。

另請參閱環境變量部分,了解控制 Pyenv 行為的環境變量。

eval "$(pyenv init --path)":

設置您的墊片路徑。 這是 pyenv 正常運行的唯一要求。 您可以通過在 $PATH 前添加 $(pyenv root)/shims 來手動執行此操作。 eval "$(pyenv init --path)" 應該在會話的登錄 shell 啟動腳本中運行——這樣會話中的所有進程都可以訪問 Pyenv 的功能,並且它只運行一次,避免在嵌套 shell 中破壞 PATH(例如,從編輯器/IDE 啟動的 shell)。

在 Linux 中,GUI 管理器通常充當 sh 登錄 shell,在啟動時運行 /etc/profile 和 ~/.profile。 MacOS 的 GUI 不會這樣做,因此它的終端模擬器應用程序默認將其 shell 作為登錄 shell 運行以進行補償。

eval "$(pyenv init -)":

安裝自動完成。 這完全是可選的,但非常有用。 Sourcing $(pyenv root)/completions/pyenv.bash 將設置它。 還有一個 $(pyenv root)/completions/pyenv.zsh 供 Zsh 用戶使用。

重新整理墊片。 有時您需要重建您的 shim 文件。 在 init 上執行此操作可確保一切都是最新的。 您始終可以手動運行 pyenv rehash。

將 pyenv 作為 shell 函數安裝到當前 shell 中。 此位也是可選的,但允許 pyenv 和插件更改當前 shell 中的變量,從而使 pyenv shell 之類的命令成為可能。 sh 調度程序不會做任何瘋狂的事情,例如覆蓋 cd 或破解您的 shell 提示符,但是如果出於某種原因您需要 pyenv 成為一個真正的腳本而不是一個 shell 函數,您可以安全地跳過它。

eval "$(pyenv init -)" 應該在任何交互式 shell 的啟動(包括嵌套 shell)中運行,以便您獲得完成和便利的 shell 功能。

要親自查看幕后到底發生了什么,請運行 pyenv init - 或 pyenv init --path。

如果您不想使用 pyenv init 和 shims,您仍然可以從 pyenv 為您安裝 Python 版本的能力中受益。 只需運行 pyenv install,您就會發現安裝在 $(pyenv root)/versions 中的版本,您可以根據需要手動執行或符號鏈接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM