2017-02-04 11 views
0

私はちょっと混乱していますが、virtualenvの動作を誤解しているかもしれません。pip、virtualenv、パッケージを理解する

まず、gitフォルダへのパスにスペースがあるため、エラーが発生していることがわかりました。空白をパスから削除した後、新しくvirtualenvを作成し、活性化されたpip listが正しく動作するようになりました。サイトパッケージにインストールされたものを表示します。注意、私は--no-site-packagesでvenvを作成しませんでした.pipe freezeでrequirement.txtを作成しませんでした。混乱が始まるのはここ

は、私が同期するようにプルをgitの、家庭で

...だ、と私は新しいvenvフォルダを参照してください、しかし:

  1. がvenvを有効にしていピップリストを使用して仕事場にインストールされたパッケージ/レポには表示されません。
  2. 例では、PyQtフォルダは作業時の半分以下のサイズです。注記QT自体は、自宅ではなく仕事場にインストールされています(スタンドアロンインストールでpipではなく)。別の例はopenpyxlです。フォルダはありますが、pipリストには記載されていません。

別のコンピュータで設定すると、requirement.txtにリストされているものをグローバルにインストールする必要があるため、ピップフリーズが存在しますか?私はvenvがすべてを含んでいると思っていて、パッケージは既にフォルダに入っているのでインストールする必要はありません。

私はvirtualenv docsでenvをgitignoreに言及していますが、なぜ私は見ません。そして私はレポでそれを持つのが簡単だと聞いてきました。もちろんこれはノー・ノーなので、私の悩みです。

pip、venv、gitが複数のコンピュータ(もちろん複数の人)を使用するためにどのように最もよく使用されるかを理解していただき、ありがとうございます。あなたはグーグルリングがそれを解決すると思うだろうが、これまでのところ、これらの特徴は私を逃してしまった。

おかげで私の経験で

答えて

1

は、複数のコンピュータにPythonのプロジェクトを管理するための最良の方法は、それがあらゆる種類の問題につながることができますので、あなたのプログラムと共に、PIPパッケージやvirtualenvのインストールを配布しようとすることはありません。実際に、私はあなたがしようとしていることが可能であるかどうかも分かりません。代わりに、私は次のことをお勧めします:

  1. は、あなたの.gitignoreファイルにenvを追加して、Gitのリポジトリからあなたvirtualenvのインストールを除外します。

  2. pip freeze > requirements.txtを実行して、必要なパッケージをすべてrequirements.txtに書き込んでください。

  3. プログラムを実行する必要がある他のコンピュータでは、pip install -r requirements.txtを実行して必要なパッケージをインストールします。

このアプローチは、非常に簡単であることに加えて、またあなた(とあなたのプログラムを実行することをお勧めします他の誰に)しかし、彼らがしたい地元のPython環境をセットアップするための柔軟性を提供します。

+0

おかげで、理にかなっています。 – JamesK

0

まず最初に、これを設定する専門家はいないが、ここに行く。

Gitはバージョン管理です。 gitでファイルの変更をファイル&のスナップショットを撮る。チェックポイントの設定と同様に、&トラックを監視することが重要でした。&がバージョンコントロールで変更されました。

Virtualenvは単なる仮想環境です。サーバーの設定と同様に、Pythonの仮想環境を設定しています。

virtualenvでは、使用するpython/pipのバージョンを設定できます。 pipはパッケージ管理システムです。それはあなたが必要とするパッケージを引き出すのに役立ちます&すべての依存関係。 ライブラリに他のアイテムが必要な場合は、ライブラリも同様に引っ張られます。 このタイプの「ライブラリ管理」は多くの言語で利用できます。

virtualenvでは、使用するものを指定できます。 python2.7または3.5、またはそれが利用されているマシン上にある場合は、必要なバージョンを選択します。

virtualenvをアクティブにした後、必要なライブラリをインストールすることができます。もちろん、これらのライブラリは、そのプロジェクトでvirtualenvをアクティブにするときに特有のものです。

requirement.txtファイルは、「pip install」したもののスナップショットを撮る場所です。そのファイルを別のプロジェクトに転送し、それらのライブラリを他の場所にインストールすることができます。あるいは、gitを使ってそれらのライブラリをリポジトリに入れることができますが、問題があるかもしれません。

個人的には、私はvirtualenvなしで働くことはできません。私のプロジェクトの1つにpython2.7が必要な場合があります。もう1つはPython3.4が必要なため、柔軟性があります。

また、サーバー(apacheまたはnginx)を設定するときは、実行するサイトが必要なvirtualenvを指す必要があります。

このすべての設定に関連して、私は単なる初心者ですが、Python & djangoを愛しています。

私はこの正義をして欲しいと思います。 ハッピーコーディング

より詳細な設定については、&の説明を参照してください。

[https://virtualenv.pypa.io/en/stable/][1]

[https://github.com/pypa/pip][1]

[https://git-scm.com/book/en/v2/Getting-Started-Git-Basics][1]

関連する問題