web-dev-qa-db-ja.com

Cygwin内のAnacondaのパスを永続的に設定Python

Windows 7マシンにAnacondaをインストールしようとしています。私はよくコマンドラインの作業にcygwinを使用し、そこからAnacondaを管理したいと思います。グラフィックインストーラーを問題なく使用し、必要なボックスをチェックして、このPythonのインストールへのデフォルトパスをリセットしました。 pythonがどこにあるかを確認するために先に進み、最初にこれを取得します...

$ which python
/usr/bin/python

ここからpythonは正常に動作します...

$ python
Python 2.7.5 (default, Oct  2 2013, 22:34:09)
[GCC 4.8.1] on cygwin
Type "help", "copyright", "credits" or "license" for more information.

しかし、私はアナコンダから仕事をしようとしているので、自分の道を再定義する必要があります...

$ export PATH=/cygdrive/c/anaconda:$PATH
$ which python
/cygdrive/c/anaconda/python

そして今、私は行ってもいいはずですが、私がPythonに足を踏み入れると、ハングします

$ python

なぜこれが起こっているのでしょうか?詳細なリターン、以下...

$ python -v
# installing zipimport hook
import zipimport # builtin
# installed zipimport hook
# C:\anaconda\lib\site.pyc matches C:\anaconda\lib\site.py
import site # precompiled from C:\anaconda\lib\site.pyc
# C:\anaconda\lib\os.pyc matches C:\anaconda\lib\os.py
import os # precompiled from C:\anaconda\lib\os.pyc
import errno # builtin
import nt # builtin
# C:\anaconda\lib\ntpath.pyc matches C:\anaconda\lib\ntpath.py
import ntpath # precompiled from C:\anaconda\lib\ntpath.pyc
# C:\anaconda\lib\stat.pyc matches C:\anaconda\lib\stat.py
import stat # precompiled from C:\anaconda\lib\stat.pyc
# C:\anaconda\lib\genericpath.pyc matches C:\anaconda\lib\genericpath.py
import genericpath # precompiled from C:\anaconda\lib\genericpath.pyc
# C:\anaconda\lib\warnings.pyc matches C:\anaconda\lib\warnings.py
import warnings # precompiled from C:\anaconda\lib\warnings.pyc
# C:\anaconda\lib\linecache.pyc matches C:\anaconda\lib\linecache.py
import linecache # precompiled from C:\anaconda\lib\linecache.pyc
# C:\anaconda\lib\types.pyc matches C:\anaconda\lib\types.py
import types # precompiled from C:\anaconda\lib\types.pyc
# C:\anaconda\lib\UserDict.pyc matches C:\anaconda\lib\UserDict.py
import UserDict # precompiled from C:\anaconda\lib\UserDict.pyc
# C:\anaconda\lib\_abcoll.pyc matches C:\anaconda\lib\_abcoll.py
import _abcoll # precompiled from C:\anaconda\lib\_abcoll.pyc
# C:\anaconda\lib\abc.pyc matches C:\anaconda\lib\abc.py
import abc # precompiled from C:\anaconda\lib\abc.pyc
# C:\anaconda\lib\_weakrefset.pyc matches C:\anaconda\lib\_weakrefset.py
import _weakrefset # precompiled from C:\anaconda\lib\_weakrefset.pyc
import _weakref # builtin
# C:\anaconda\lib\copy_reg.pyc matches C:\anaconda\lib\copy_reg.py
import copy_reg # precompiled from C:\anaconda\lib\copy_reg.pyc
# C:\anaconda\lib\traceback.pyc matches C:\anaconda\lib\traceback.py
import traceback # precompiled from C:\anaconda\lib\traceback.pyc
# C:\anaconda\lib\sysconfig.pyc matches C:\anaconda\lib\sysconfig.py
import sysconfig # precompiled from C:\anaconda\lib\sysconfig.pyc
# C:\anaconda\lib\re.pyc matches C:\anaconda\lib\re.py
import re # precompiled from C:\anaconda\lib\re.pyc
# C:\anaconda\lib\sre_compile.pyc matches C:\anaconda\lib\sre_compile.py
import sre_compile # precompiled from C:\anaconda\lib\sre_compile.pyc
import _sre # builtin
# C:\anaconda\lib\sre_parse.pyc matches C:\anaconda\lib\sre_parse.py
import sre_parse # precompiled from C:\anaconda\lib\sre_parse.pyc
# C:\anaconda\lib\sre_constants.pyc matches C:\anaconda\lib\sre_constants.py
import sre_constants # precompiled from C:\anaconda\lib\sre_constants.pyc
# C:\anaconda\lib\locale.pyc matches C:\anaconda\lib\locale.py
import locale # precompiled from C:\anaconda\lib\locale.pyc
import encodings # directory C:\anaconda\lib\encodings
# C:\anaconda\lib\encodings\__init__.pyc matches C:\anaconda\lib\encodings\__init__.py
import encodings # precompiled from C:\anaconda\lib\encodings\__init__.pyc
# C:\anaconda\lib\codecs.pyc matches C:\anaconda\lib\codecs.py
import codecs # precompiled from C:\anaconda\lib\codecs.pyc
import _codecs # builtin
# C:\anaconda\lib\encodings\aliases.pyc matches C:\anaconda\lib\encodings\aliases.py
import encodings.aliases # precompiled from C:\anaconda\lib\encodings\aliases.pyc
import operator # builtin
# C:\anaconda\lib\functools.pyc matches C:\anaconda\lib\functools.py
import functools # precompiled from C:\anaconda\lib\functools.pyc
import _functools # builtin
import _locale # builtin
# C:\anaconda\lib\encodings\cp1252.pyc matches C:\anaconda\lib\encodings\cp1252.py
import encodings.cp1252 # precompiled from C:\anaconda\lib\encodings\cp1252.pyc
# zipimport: found 13 names in C:\anaconda\lib\site-packages\runipy-0.1.0-py2.7.Egg
# zipimport: found 144 names in C:\anaconda\lib\site-packages\setuptools-3.6-py2.7.Egg
Python 2.7.7 |Anaconda 2.0.1 (64-bit)| (default, Jun 11 2014, 10:40:02) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and htt

私が抱えている別の(おそらく関連する)問題は、cygwinを閉じる/開くたびにパスをリセットする必要があることです。次のテキストを.bashrcと.profileに入力して、パスを永続的に設定しようとしました。

# Set path to python from anaconda install
export PATH=/cygdrive/c/anaconda:$PATH

Cygwinを開いて閉じた後、次の場所に戻ります。

$ which python
/usr/bin/python

これは特定のシステム環境変数の設定に関連していますか?

28
thomastodon

CygwinでインタラクティブなPython Shellを使用するには、-iオプションを使用します。

Anacondaのインストールから取得するには、上記の手順を使用しました。

$ export PATH=/cygdrive/c/anaconda:$PATH
$ which python
/cygdrive/c/anaconda/python

次に、-iオプションを指定してCygwin内でpythonを起動します。

$ python -i
Python 2.7.8 |Anaconda 2.1.0 (64-bit)| (default, Jul  2 2014, 15:12:11) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://binstar.org
>>>>

ライブラリも正常に動作しています。たとえば、pandasライブラリ(Anacondaを介してインストールされている)は今すぐインポートできます。

>>>> import pandas
>>>> pandas.DataFrame
<class 'pandas.core.frame.DataFrame'>

これを永続的にするために、bashrcファイルにパスを追加しました。

$ echo 'export PATH=/cygdrive/c/anaconda:$PATH' >> .bashrc
$ source .bashrc
$ which python
/cygdrive/c/anaconda/python

これがお役に立てば幸いです。

29
SchizoBean

Condaのcygwinの解釈には別の問題があります。環境のアクティベーションスクリプトを取得すると、先頭に追加されます。

/C/Users/Thomas.Harris/AppData/Local/Continuum/Anaconda3/envs/blah
/C/Users/Thomas.Harris/AppData/Local/Continuum/Anaconda3/envs/blah/Library/mingw-w64/bin /C/Users/Thomas.Harris/AppData/Local/Continuum/Anaconda3/ envs/blah/Library/usr/bin
/C/Users/Thomas.Harris/AppData/Local/Continuum/Anaconda3/envs/blah/Library/bin
/C/Users/Thomas.Harris/AppData/Local/Continuum/Anaconda3/envs/blah/Scripts

pATHに。ただし、これらはcygwinの適切なディレクトリではありません。

私はこれを修正しました

ln -s /cygdrive/c /C

そして、特定のバージョンのpythonでconda環境を作成する場合、それらは動作するはずです。

3
TKH

私もCygwin/Windows 7システムでanacondaをセットアップする際に問題を抱えていました。うまくいったのは次のとおりです。

  1. 〜/ .bashrcを編集しました。以下をファイルの最後に追加します。

    export PATH=/cygdrive/c/Anaconda:$PATH

  2. これは、Cygwinのpythonを証拠としてanacondaディストリビューションにマッピングし、which python Cygwinのコンソール。ただし、pythonを起動すると、ハングアップしてコマンドから^ Cが強制されます。python -iは、インタラクティブなpythonインタプリタを問題なく起動します。

3
SciGuyMcQ

パスを永続的に設定することに関しては、 ホームディレクトリの.profileを編集してください (これは隠しファイルです)。

.profile(他の名前も有効、bashのマニュアルページを参照)にはbashコマンドが含まれています。ログインシェルとしてbashを起動すると実行されます。

このファイルの最後に、set pathコマンドを追加します。

export PATH=/cygdrive/c/anaconda:$PATH

pythonがハングしている理由については、より多くの情報を提供してください。たとえば、python -vの出力は何ですか?]

1
Martin Konecny

Anaconda 4の場合、以下を実行します。

vim /home/[Username]/.bash_profile

最後の行に追加します:

PATH=$PATH:/cygdrive/c/Users/[Username]/Anaconda3/Scripts/

通常のanaconda3/binが見つからなかったため、このソリューションはうまくいきました。

1
matthew

私はこれに来るのが少し遅れましたが、@ thomasshoulerと同じ問題を抱えていました。 .bash_profileファイルと.profileファイル、および.bashrcファイルの最後に、上記のエクスポート行を追加してみてください。各ファイルに対して「source .bash_profile」などを確認してください。

export PATH=/cygdrive/c/anaconda:$PATH
1
Nicholas Fasolt

上記のようにCygwinパスが更新されたら、.bashrcファイルにエイリアスを追加することもできます。

alias python='python -i'

これにより、Cygwin bashプロンプトから対話モードでAnaconda pythonインタープリターが表示されます

1
Marc Compere