ipython
macOSに内部的にvirtualenvをインストールしました。私のPATH環境変数は最初にvirtualenvパスも表示します。which
また、コマンドは、コマンドがipython
正しい場所にあることを示します。
問題は、実行時にipython
シェルが奇妙な場所で以前のインストールを検出することです。ここにいくつかの例があります。
(csv_import) $ ipython
-bash: /usr/local/bin/ipython: /usr/local/opt/python3/bin/python3.6: bad interpreter: No such file or directory
(csv_import) $
(csv_import) $ which ipython
/Users/zeinep/.virtualenvs/csv_import/bin/ipython
(csv_import) $
(csv_import) $ echo $PATH
/Users/zeinep/.virtualenvs/csv_import/bin:/Users/zeinep/.avn/bin:/Users/zeinep/.nvm/versions/node/v10.14.1/bin:/usr/local/lib/python3.6/bin:/Users/zeinep/Library/Python/3.6/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
(csv_import) $
(csv_import) $
(csv_import) $ /Users/zeinep/.virtualenvs/csv_import/bin/ipython
Python 3.6.5 (default, Jun 17 2018, 12:13:06)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.3.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]:
ご覧のとおり、フルパスを使用すると機能します。そうでなければ、/usr/local/bin/ipython
私が見たものからvirtualenvでシェルが見つかったとしても、以前のインストールが実行されます。
答え1
/Users/zeinep/.virtualenvs/csv_import/bin
bashが保存$PATH
した後(ハッシュされた)バージョンを追加したようです/usr/local/bin
。修正はこんなに簡単ですhash -d ipython
。