2016-03-23 16 views
2

はい、私はPythonの世界で同じ古い質問をしています。その約パッケージマネージャー pipcondaPython pipとcondaパッケージマネージャ

Pippythonパッケージで完璧に動作しますが、拡張子がCの拡張子(pandas, matplotlibなど)のPythonパッケージにはまっていません。それはcondaが入ると、セットアップ環境の中で時間を節約するために来ます。 しかし、私はコンドチャンネルがflask-sqlalchemy, flask-httpauthのようなパッケージを持っていないいくつかの環境を見つけました。そのためにpipを使用する必要があります。 2つの異なるパッケージマネージャーを使って環境を管理することは、私にとっては奇妙なことであり、お勧めできません。

このようなパッケージマネージャを使用して、pythonの依存関係を管理するためののベストプラクティスはとは何ですか?専門家がギャップを感じるよう助言する必要があります。

ご意見やご協力をいただければ幸いです。

私はPycharmも使用しており、pipパッケージではないcondaパッケージしか認識できません。それは別の痛みですだから私はvimに戻らなければなりません(それは大丈夫です - 私はそれが大好きです)。しかし、デバッグは難しいですか、IDEのようなpycharmほど簡単ではありません。

P.S.私はLinux/Macを開発に使用しています。ここで

+0

...それはあなたがパッケージを管理するためのPyCharm GUIがcondaを使用していることをした後、Condaインタプリタを使用するようにPyCharmを伝えたら、というのは本当です。しかし、あなたはまだ限り、あなたはそれCondaはあなたがしたい方法を使用と、ターミナルに移動し、PIPを使用することができます。 –

答えて

1

は(this blogから)まともなワークフローの例です:

  1. 私のコンピュータ上の~/repos/ディレクトリにプロジェクトフォルダを作成します。
  2. ディレクトリにenvironment.ymlファイルを作成します。通常、環境名はフォルダ名と同じになります。最低限、 は使用したいPythonのバージョンを指定します。それは多くの場合、依存関係としてanacondaを含む です。
  3. $ conda env createでconda環境を作成します。
  4. $ source activate ENV_NAMEでconda環境を有効にします。
  5. source activate ENV_NAMEという行を含む.envファイルを作成します。 autoenvがインストールされているので、このファイルは、 ターミナルのプロジェクトフォルダに移動するたびに実行されます。したがって、私のコンドーム は、フォルダに移動するとすぐに有効になります。
  6. $ git initを実行して、フォルダをGitリポジトリにします。次に$ git add environment.yml && git commit -m 'initial commit'を実行して YAMLファイルをリポジトリに追加します。
  7. リポジトリをGithubにプッシュしたい場合、私は$ git createをGithubのハブコマンドを使って使います。私は$ git push -u origin masterでマスターブランチを押します。

これはまともではありませんが、完璧ではありません。いくつかの短所は次のとおりです。

  1. 即時依存関係は、依存関係の依存関係と共にリストされています。
  2. パッケージを正しく削除するのは複雑です。
  3. 代替ソースからのインストールされたパッケージがある場合には動作しません。

しかし、それは良いスタートであり、私の経験から、このチームよりも優れたソリューションを発明するのは面倒ではありません。

P.:昨年、PyCharmはcondaサポートを大幅に改善し、2017年4月現在、condaパッケージとpipパッケージの両方を正しく認識しています。ただ、一つの小さな部分にコメントする

関連する問題