44

2.7.9 から python 3.4.3 に切り替えた後 (これは非常に簡単でした)、同僚と共有する前に自分のスクリプトのいくつかを python 2.7.9 でテストしたいと思うことがよくあります。私は OSX ヨセミテ プラットフォームを使用しており、すべてが自作からコンパイルされています。

状況は非常に醜いものでした(PATHesの設定とPYTHONPATH各ステップで)-これを非常に簡単に実行し、自作を使用して簡単にインストールできるpyenvを発見するまで。ここまでは順調ですね。

ただし、このバージョンの python を使用しているため、自作のバージョンと必ずしもうまくいくとは限りません。さらに、システムの python に切り替えることができ、より一般的には pyenv がそれにアクセスできることがわかりました。

$ pyenv versions
  system
  2.7.9
* 3.4.3 (set by /usr/local/var/pyenv/version)

しかし、自作でコンパイルされた s のエントリを追加するにはどうすればpythonよいですか?

4

6 に答える 6

2

以前の回答のすべてのビットをまとめて、実際に機能する1つのリングにまとめて、それらをバインドします。

pyenv-brew-relink() {
    rm -f "$HOME/.pyenv/versions/*-brew"
    for i in $(brew --cellar)/python* ; do
        ln -s -f "$p" "$HOME/.pyenv/versions/${i##/*/}-brew"
    done
    pyenv rehash
}
于 2021-03-23T15:27:42.527 に答える
2

バージョンが指定されていない場合、 pyenv はsystemデフォルトのバージョンとして使用します。

python@3 を homebrew でインストールし、 に pyenv のバージョンを指定するとsystem、システム内の をpython指し、homebrew でインストールしたものを指します。python 2.xpython3python@3

したがって、通常、手動で pyenv にバージョンを追加する必要はありません。


2020年は「ln -s /outside/python/xxx ~/.pyenv/versions/xxx」以降、シムを再ハッシュするために「pyenv rehash」が必要です。

例: macos システムの python 2.7 を pyenv に追加します。

ln -s /System/Library/Frameworks/Python.framework/Versions/2.7 ~/.pyenv/versions/2.7

pyenv rehash
于 2021-01-03T06:11:44.670 に答える