Pip: ~ / .pip / pip.conf dan konflik virtualenv

Dibuat pada 2 Okt 2014  ·  5Komentar  ·  Sumber: pypa/pip

Saya tidak dapat menemukan masalah ini didokumentasikan di mana pun, tetapi jika Anda menentukan install-option dalam ~/.pip/pip.conf , masalah ini tidak diganti dengan virtualenv . Saya menetapkan --prefix=/path/to/somwhere dalam install-option karena pembatasan pengguna pada pc kerja saya, dan dengan itu disetel, semua penginstalan di venv (dengan $PIP_RESPECT_VIRTUALENV diaktifkan) masih diinstal di jalur yang ditentukan oleh install-option . Ini bukanlah perilaku yang diharapkan bagi saya, tetapi saya tidak yakin apakah mengabaikan pip.conf adalah tindakan yang benar juga. Mungkin mendokumentasikan perilaku seperti itu adalah yang terbaik. Hal aneh lainnya adalah Anda kemudian tidak dapat menghapus instalasi saat berada di virtualenv, karena paket tersebut tidak diinstal di venv, dan pip tidak dapat menemukannya.

Ini terjadi pada saya saat menggunakan pip 1.4.1 dan 1.5.6 dan virtualenv 1.11.6.

virtualenv needs repro bug

Komentar yang paling membantu

Perbaikan saya saat ini adalah menyetel $PIP_CONFIG_FILE menjadi /dev/null melalui virtualenvwrapper postactivate hook dan membatalkannya di postdeactivate .

Semua 5 komentar

Perbaikan saya saat ini adalah menyetel $PIP_CONFIG_FILE menjadi /dev/null melalui virtualenvwrapper postactivate hook dan membatalkannya di postdeactivate .

Masalah ini masih ada. Dalam kasus saya, saya ingin menggunakan --user install ketika tidak di venv (melalui pengaturan ini di ~/.config/pip/pip.conf , tapi "normal" (in-venv) menginstal ketika di venv (lakukan --user instal bahkan masuk akal di venv?).

Dua solusi yang mungkin (yang hanya yang pertama benar-benar dapat diimplementasikan dengan pip, tetapi saya sebaiknya memulai diskusi di sini) adalah

  • menyediakan lokasi file konfigurasi yang hanya digunakan di luar venvs ( ~/.config/pip/pip-novenv.conf atau apa pun), atau
  • buat --user no-op di venv (sekali lagi, saya tidak yakin --user + venv masuk akal: hanya ada satu ~/.local/lib/pythonX.Y jadi semua isolasi rusak di sana).

Masalah masih ada di Python 3.5.3.

Cukup ironis dan membuat frustrasi bahwa jika seseorang mencoba untuk berhati-hati dengan lingkungan, sampai menggunakan lingkungan virtual dan pengguna menginstal di pip.conf, salah satunya berakhir dengan sistem yang tidak berfungsi.

Saya mencoba untuk menghindari anggota tim menggunakan sudo pip . Itu semakin sulit.

Bukankah ini bug di virtualenv - yang tidak menyetel PIP_CONFIG_FILE=/dev/null saat menggunakan beberapa opsi?
Oh, digigit hari ini.

Bisakah seseorang memberikan instruksi yang jelas tentang cara mereproduksi ini?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat