Ubuntu 16.04 не видит мой внешний USB-интерфейс

Я настоятельно рекомендую избегать pip3 устанавливать вещи в системных сайтах-пакетах. Я уже делал эти аргументы, но я дам вам примечания: Обновления системы ломают все. Установка apt-пакетов может перезаписывать объекты, установленные в протоколе. Конфликты версий. Распространение обновлений - непредсказуемый хаос. Шутки в сторону. Я потерял для них волосы.

Я бы решительно выступал за использование virtualenv. Это огромная боль в том, где бы вы ни пошли, но как только вы ее настроите, у вас есть полная среда Python под вашим полным контролем. Это означает больше работы (вам нужно будет проверить что-то для обновлений, а pip пока что не помогает), но вам не нужно беспокоиться о том, что делает Ubuntu.

У меня есть для каждого сайта (просто сидя в подкаталоге под названием venv). Некоторые люди, включая меня, когда-то, предпочитают делиться своей средой между несколькими сайтами. Я нашел, что это легче поддерживать с точки зрения выпуска обновлений, но некоторые сайты могут быть хрупкими или требуют старых версий, и это возвращает всю среду. YMMV.

С точки зрения установки этого и просто для того, чтобы ударить меня по лицу, virtualenv не упакован для Python 3, но мы должны использовать pip3:

Теперь ваш bash PS1 должен быть обработан (myenv), чтобы вы знали, что находитесь в другой среде. Мы можем протестировать среду, чтобы проверить, что мы находимся на правильных версиях (не используя системные версии для стартеров):

$ python --version
Python 3.3.2+
$ which python pip 
/home/oli/Desktop/myenv/bin/python
/home/oli/Desktop/myenv/bin/pip

И тогда вы можете просто продолжать, как если бы вы были мастером вселенная. Вам больше не нужен root, чтобы использовать pip, и вам не нужно указывать pip3.

$ pip install django umemcache
...

Если вы используете что-то вроде uwsgi для размещения этого (вы должны) использовать его флаг -H (или аргумент home config), чтобы сообщить ему, где Среда Python живет.

Что касается упрощения разработки, вы можете автоматически «установить» среду virtualenv. Существует много сценариев, но это мое (это живет внизу моего ~/.bashrc:

export VENVDIR="/web"
export VENVDIR_VENV="$VENVDIR/venv"

venvcd() {
        wd=$(pwd)
        [[ $wd == $VENVDIR/* || $wd == $VENVDIR ]] && wasin=true || unset wasin

        builtin cd "$@"

        wd=$(pwd)
        if [[ $wd == $VENVDIR/* || $wd == $VENVDIR ]]; then
                source $VENVDIR_VENV/bin/activate
        else
                [ $wasin ] && deactivate
        fi
}
alias cd="venvcd"

cd .

Всякий раз, когда я cd в /web (где хранятся все мои сайты разработки ), он монтирует virtualenv для меня. Обратите внимание, что у меня есть только одна среда для всех моих сайтов, поэтому она будет только сгруппировать вас, если вы сделаете что-то подобное. До эти аргументы до .

1
задан 29 April 2016 в 07:58

0 ответов

Другие вопросы по тегам:

Похожие вопросы: