PyCharmで(Ana)condaを使用する
質問
Linux (Ubuntu 14.04) マシンでPycharm 4を動かしています。 システムの python に加えて、Anaconda もインストールされています。 この2つをうまく連携させるのは、ちょっとした問題のようです...。PyCharmは、以下のような興味深い統合を提供します。
virtualenv
と
pip
を使用していますが、Anaconda Pythonディストリビューションは独自の
conda
ツールを使用することを好むようです。
比較的簡単で苦痛のない方法はありますか?
conda
を PyCharm と一緒に使えるようにする比較的簡単で痛くない方法はありますか? 単に代替インタプリタとしてではなく、例えばプロジェクトのインタプリタとして PyCharm を Anaconda Python バイナリに向けるのではなく、仮想環境の作成、ソース、有効化、無効化、それらの仮想環境でのパッケージの追加/削除、などができるようにするためです。
または、Anaconda を使用する (そして、システムに付属しているよりも最新の最新の python を持つ) ことと、PyCharm の機能を最大限に使用できることの間で選択をしなければならないのでしょうか?
どのように解決するのですか?
今更ですが、物事をはっきりさせた方がいいと思ったので。PyCharm と Conda と pip は一緒にうまく働きます。
短い答え
Condaを管理するだけ をコマンドラインから . PyCharm は変更が発生すると、自動的にその変更を認識します。 ピップ .
長い答え
新しいConda環境を作成します。
conda create --name foo pandas bokeh
この環境は
conda_root/envs/foo
. Python インタープリタは
conda_root/envs/foo/bin/pythonX.X
で、すべてのサイトパッケージは
conda_root/envs/foo/lib/pythonX.X/site-packages
. これは、pipの仮想環境と同じディレクトリ構造です。PyCharmは何も違いを感じません。
ここで、PyCharmから新しい環境を有効にするために ファイル > 設定 > プロジェクト > インタプリタ を選択します。 ローカルの追加 を選択し、Pythonインタプリタを探します。おめでとうございます! これでpandasとbokehを含むCondaの環境ができました!
次に、さらにパッケージをインストールします。
conda install scikit-learn
OK... 設定からインタープリタに戻ります。すると、PyCharmがscikit-learnを認識するようになりました。
そして は逆もまた真なり つまり、PyCharmで別のパッケージをpipでインストールすると、Condaは自動的にそれに気づきます。例えば、requestsをインストールしたとします。では、現在の環境にある Conda パッケージをリストアップしてみましょう。
conda list
リストにはリクエストが含まれるようになり、Condaはpipでインストールされたことを正しく検出しました(3列目)。
結論
これは、パッケージが純粋な Python でないときに pip/virtualenv のインストール問題から逃れようとしている私のような人々にとって、間違いなく良いニュースです。
NB。 PyCharm pro edition 4.5.3 を Linux 上で動かしています。Windows の場合は をコマンドラインから を GUIで (に変更することができます(そして、フォワードスラッシュはバックスラッシュで)。あなたにとってもうまくいかない理由はないでしょう。
EDITです。 CondaをサポートしたPyCharm5がリリースされました! コミュニティ版でも。
関連
-
[解決済み] conda 環境の名前を変更するにはどうすればよいですか?
-
[解決済み] 関数内でグローバル変数を使用する
-
[解決済み] ローカルディレクトリからrequirements.txtファイルに従ってpipを使用してパッケージをインストールするにはどうすればよいですか?
-
[解決済み] pipとcondaの違いは何ですか?
-
[解決済み】forループを使った辞書の反復処理
-
[解決済み】Anaconda環境にパッケージをインストールするためにPipを使用する。
-
[解決済み] なぜ(0-6)は-6=偽なのか?重複
-
[解決済み] あるオブジェクトが数であるかどうかを確認する、最もパイソン的な方法は何でしょうか?
-
[解決済み] Pythonの辞書にあるスレッドセーフについて
-
[解決済み] Django filter queryset __in for *every* item in list
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 前月の日時オブジェクトを返す
-
[解決済み] Pythonのキャッシュライブラリはありますか?
-
[解決済み] Spyderを仮想環境で動作させるには?
-
[解決済み] タプルのリストを複数のリストに変換するには?
-
[解決済み] 文字列から先頭と末尾のスペースを削除するには?
-
[解決済み] 範囲指定された浮動小数点数のランダムな配列を生成します。
-
[解決済み] オブジェクトのリストに特定の属性値を持つオブジェクトが含まれているかどうかをチェックする
-
[解決済み] あるオブジェクトが数であるかどうかを確認する、最もパイソン的な方法は何でしょうか?
-
[解決済み] virtualenv の `--no-site-packages` オプションを元に戻す。
-
[解決済み] Python の sorted() はどのようなアルゴリズムを使っているのですか?重複