2017-11-13 4 views
2

私は多くのことについてよく読んでいます。sudo pipは非常に悪い癖/解決策です。人々が与えたいくつかの理由は:sudo pip:どうして、なぜそうではなく、何がないのですか

  • 悪質なコードを実行する可能性があります。
  • 許可構造体を壊します。
  • 「システムワイド」パッケージをインストールするには、Sudoを使用します。
  • それは私が見つけた代替--user(例えばpip install --user package)でpipを実行しているサタン!1!1

です。私はDebianのPythonが少し違っている(私はStretchを持っている)ことを見ました。なぜなら、パスが使われているからです(省略した場合、Debtでは--userが標準です)。結論として、私は矛盾したものがたくさん見つかった。

が、それは間違っているときsudopipを使用して一緒に、間違っている誰かが、なぜ私を説明することができ、およびすべてのほとんどは、ことを当たり前の撮影?私が遭遇した主な問題はすべてパーミッションに関するものだったので、私の推測ではsudoは "ちょうど"所有権を壊しています。

--userまたはvirtualenv以外の解決方法はありますか?

+0

@Rawing私が推測しなければならないのは、この質問が以前に何度も尋ねられ、答えられていたため、すばらしいGoogle検索で明らかになったからです。 – vaultah

+0

編集ありがとう!とにかく私は既に重複していると書かれた投稿を読んで、私は質問をするために私をプッシュした正確な理由だった:1つの投稿では、 "所有権のため"、 "インターネットからコードを実行するため"スコープの可視性のために "... – ingroxd

+0

@vaultahありがとう、私のgoogle-fuが私に失敗したようです...私はクイック検索でこのトピックに関する特に有用な情報を見つけることができませんでした。 –

答えて

2

あなたがかがグローバルにバイナリ、サービスまたは依存関係をインストールするを持って欲しいない限り、あなたはsudo pipを使用したくないでしょう。正しく推測すると、依存関係がグローバルにインストールされ、開発中に矛盾が生じる可能性があります。

最近では、依存関係をインストールするのにvirtualenvを使用することが一般的です。こうすることで、インストールで行うことは、Pythonの特定のvirtualenvインスタンスに対してローカルであることになります。

+0

スペルを修正するために編集しようとしましたが、6文字以上を編集する必要があります。 'virtualenv'のあなたのリンクは間違っています。また、仮想環境、単に 'source/path/to/my/venv/bin/activate'を使用することを追加する価値があります。そしてpipを使用して通常のようにほとんどのパッケージをインストールできます。 – slightlynybbled

+0

場所は正しいですが、文字はそうではありません...あなたは 'virtualenv'にする必要がある' virutalenv'を書いています – slightlynybbled

関連する問題