私はPythonと開発一般に比較的新しいですし、システムパッケージとしてプロジェクト固有のパッケージをインストールしています。これは、virtualenv内の特定のプロジェクトのrequirements.txtファイルを作成しようとすると、今や私に問題を引き起こしています。piping free> requirements.txt virtualenv内のすべてのシステムインストールパッケージを含む
例えば、私は広いKivyシステムをインストールしていると私は要件に新しいENVを作成するたびに、私は(はいENVがアクティブである)以下になっていますファイル:
$ pip freeze > requirements.txt
$ cat requirements.txt
Kivy==1.9.1
Pillow==2.6.1
Pygments==2.0.1
chardet==2.3.0
colorama==0.3.2
docutils==0.12
html5lib==0.999
kazam==1.4.5
pygobject==3.14.0
python-apt==0.9.3.12
python-debian==0.1.27
pyxdg==0.25
requests==2.4.3
roman==2.0.0
six==1.8.0
urllib3==1.9.1
wheel==0.24.0
私がしましたまたKivyをアンインストールしようとした、他のものが、次の出力を得る(重要なOSのパッケージを削除したくない、ここで慎重にしようとしている)の中で:
$ pip uninstall kivy
Not uninstalling Kivy at /usr/lib/python3/dist-packages, owned by OS
だから私の質問はこれです: はどうやって取得することができますpythonパッケージをデフォルトに戻し、必須のシステムパックのみを使用するkageがインストールされている(ほぼ新鮮なpythonのインストールのような)場合、システム全体のインストールされたパッケージを含むvirtualenvの中のrequirement.txtファイルをどうやって防ぐのですか?(私はevnの方がずっと良くなりますので、それは何の違いを行う場合
、Debianの8実行もルート)としてこれを実行している幅広いパッケージ)
私もなぜpip unistall kivy
doesntの仕事を見つけることに興味があると思い(はい、私が試した
これが理にかなっていると思います。
EDIT:だから、env/bin/pip install
ではなくpip install
を使用していたenvを作成した後、私はこのすべてのことを間違っていると思います。私が間違っていない限り、これはパッケージがグローバルにインストールされている理由です。要件ファイルも同じです。
あなたはvirtualenvの内部のアンインストールを実行しているを使用して、各virtualenvのにちょうどあなたの地元のパッケージを凍結することができますか?もしそうなら、それをvirtualenvの外で実行します。 – Craicerjack
はvenvを無効にして外部から実行していません – tuxedozombie
あなたは 'sudo'を試しました – Craicerjack