/ / Зробіть virtualenv успадкувати конкретні пакети зі свого глобального пакету сайту - python, virtualenv

Зробіть virtualenv успадкувати певні пакети з ваших глобальних пакунків-сайтів - python, virtualenv

Я шукаю спосіб зробити virtualenv, який буде містити лише деякі бібліотеки (які я вибрав) установки базового пітона.

Щоб бути більш конкретним, я намагаюся імпортувати своєmatplotlib to virtualenv під час створення virtualenv. Він не може бути ефективно встановлений за допомогою pip або easy_install, оскільки він не вистачає деяких файлів компілятора fortran. Як я це робив дотепер, це копіювати вручну з

/usr/lib/python2.7/dist-packages/ to virtualenv_name/lib/python2.7/dist-packages/

однак це запобігає реєстрації мануально імпортних посилань жовток (який друкує всі наявні лібри в virtualenv).

Отже, чи є спосіб зробити вибірковий варіант

virtualenv --system-site-packages

Відповіді:

185 за відповідь № 1

Створіть середовище за допомогою virtualenv --system-site-packages . Потім активуйте virtualenv і при встановленні речей використовуйте pip install --ignore-installed або pip install -I . Таким чином, pip встановить те, що ви просилилокально, хоча існує загальносистемна версія. Ваш інтерпретатор python спочатку подивиться в каталог пакунків virtualenv, тому ці пакунки повинні затьмарити глобальні.


11 для відповіді № 2

Ви можете скористатись --system-site-packages а потім "перевстановіть" конкретні речі для вашого virtualenv. Таким чином, все, що ви встановите у свій virtualenv, буде взято звідти, інакше воно буде взято з вашої системи.


-5 для відповіді № 3

Встановити віртуальну програму ENV

virtualenv --system-site-packages

і використовувати pip install -U to install matplotlib


-9 за відповідь № 4

Ви можете використовувати virtualenv --clear. який не зможе встановити будь-які пакунки, а потім встановити потрібні.