web-dev-qa-db-ja.com

PYTHONPATHがBashシェルで誤った値に設定されている

OS:macOS Sierra Beta 6 Python:2.7シェル:魚

PYTHONPATH環境変数が正しく設定されているという問題があります。

私のfish_configファイルには、PYTHONPATHを設定する次の行があります。

set -gx PYTHONPATH "/opt/additionalPath" "/usr/local/lib/python2.7/site-packages";

しかし、Pythonを起動すると、パスを調べようとすると次の出力が得られます。

>>> import sys
>>> print sys.path
['', '/opt/additionalPath\x1e/usr/local/lib/python2.7/site-packages', '/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python27.Zip', '/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', '/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', '/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', '/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/site-packages', '/Library/Python/2.7/site-packages']
>>> 

追加するパス間の\ x1eに注意してください。

FishからbashShellを起動し、$ PYTHONPATHをエコーすると、次の出力が得られます。

/opt/additionalPath/usr/local/lib/python2.7/site-packages

これらのパスはコロンで区切られているはずですが、どこで行われているのかわかりません。私の理論では、bash Shellの何かが、fish Shellのパスを設定していますが、アイデアが不足しています。

どんな助けでも大歓迎です。

2
rplankenhorn

PYTHONPATHの魚のリストを使用することはできません。bashの場合と同様に、区切り文字として:を含む単一の文字列を使用する必要があります。

set -gx PYTHONPATH "/opt/additionalPath:/usr/local/lib/python2.7/site-packages"

詳細については、 このバグレポート を参照してください。

2
jaimeMF