Это отображается для меня при переключении на OSX 10.10 (Yosemite). Я исправил его, переключившись на WXAgg.
fink install wxpython300-py27
mkdir ~/.matplotlib
echo "backend : WXAgg" >>~/.matplotlib/matplotlibrc
http://matplotlib.org/1.3.0/faq/usage_faq.html#what-is-a-backend
Если файл matplotlibrc там не найден, поместите matplotlibrc и проверьте местоположение с помощью:
import matplotlib as mpl
mpl.get_configdir()
Просто используйте параметр --python
(или короткий -p
) при создании экземпляра virtualenv, чтобы указать исполняемый файл Python, который вы хотите использовать, например :
virtualenv --python=/usr/bin/python2.6 <path/to/new/virtualenv/>
N.B. Для Python 3.3 или более поздней версии см. Ниже ответ Aelfinn . [Примечание редактора: Я знаю, что это, как правило, комментарий, а не редактирование, но новый комментарий был бы скрыт, и я просто потратил 45 минут на распутывание ошибок, потому что этот важный ответ был похоронен под тремя или четырьмя ответами попугая. Я просто пытаюсь сэкономить все время здесь.]
Mac OSX 10.6.8 (Snow Leopard):
1) Когда вы выполняете pip install virtualenv
, команда pip связана с одной из ваших версий python, а virtualenv
устанавливается в эту версию питона. Вы можете сделать
$ which pip
, чтобы узнать, какая версия python. Если вы видите что-то вроде:
$ which pip
/usr/local/bin/pip
, тогда выполните:
$ ls -al /usr/local/bin/pip
lrwxrwxr-x 1 root admin 65 Apr 10 2015 /usr/local/bin/pip ->
../../../Library/Frameworks/Python.framework/Versions/2.7/bin/pip
Вы можете увидеть версию python на выходе.
По умолчанию этот будет версия python, которая будет использоваться для любой создаваемой вами среды. Тем не менее, вы можете указать любую версию python, установленную на вашем компьютере, для использования внутри новой среды с помощью -p flag
:
$ virtualenv -p python3.2 my_env
Running virtualenv with interpreter /usr/local/bin/python3.2
New python executable in my_env/bin/python
Installing setuptools, pip...done.
blockquote>
virtualenv my_env
создаст папку в текущем каталоге, которая будет содержать исполняемые файлы Python и копию команды [команда], которую вы можете использовать для установки других пакетов.http://docs.python-guide.org / ru / latest / dev / virtualenvs /
virtualenv
просто копирует python из местоположения на вашем компьютере во вновь созданный каталог my_env / bin /.2) Системный python находится в
/usr/bin
, в то время как различные версии python, которые я установил, по умолчанию были установлены в:/usr/local/bin
3) Различные питоны, которые я установил имеют имена типа
python2.7
илиpython3.2
, и я могу использовать эти имена, а не полные пути.======== VIRTUALENVWRAPPER =========
1) У меня возникли проблемы с тем, чтобы работать с virtualenvwrapper. Вот что я ввел в
~/.bash_profile
:export WORKON_HOME=$HOME/.virtualenvs export PROJECT_HOME=$HOME/django_projects #Not very important -- mkproject command uses this #Added the following based on: #http://stackoverflow.com/questions/19665327/virtualenvwrapper-installation-snow-leopard-python export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python2.7 #source /usr/local/bin/virtualenvwrapper.sh source /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh
2)
-p option
работает по-разному с virtualenvwrapper: я должен указать полный путь к интерпретатору python, который будет использоваться в новом (когда я не хочу использовать версию python по умолчанию):$ mkvirtualenv -p /usr/local/bin/python3.2 my_env Running virtualenv with interpreter /usr/local/bin/python3 New python executable in my_env/bin/python Installing setuptools, pip...done. Usage: source deactivate removes the 'bin' directory of the environment activated with 'source activate' from PATH.
В отличие от virtualenv, virtualenvwrapper создаст среду в местоположении, указанном переменной окружения $ WORKON_HOME. Это держит все ваши среды в одном месте.
which pip
не говорит мне версию Python. Это дает мне это /usr/local/bin/pip
.
– Sankalp
16 March 2018 в 03:36
/usr/local/bin
и do $ ls -al pip
, вы должны увидеть что-то вроде: pip -> ../../../Library/Frameworks/Python.framework/Versions/2.7/bin/pip
– 7stud
16 March 2018 в 03:44
В Windows для меня это работает:
virtualenv --python=c:\Python25\python.exe envname
без python.exe
Я получил WindowsError: [Error 5] Access is denied
У меня установлен Python2.7.1 с virtualenv 1.6.1, и мне нужен python 2.5.2.
Подход -p
работает хорошо, но вы должны помнить об использовании его каждый раз. Если ваша цель - переключиться на более новую версию Python, это боль, а также может привести к ошибкам.
Другой вариант - установить переменную среды, которая выполняет ту же функцию, что и -p
. Установите это через ваш файл ~/.bashrc
или везде, где вы управляете переменными среды для сеансов входа в систему:
export VIRTUALENV_PYTHON=/path/to/desired/version
Затем virtualenv
будет использовать это в любое время, когда вы не укажете -p
в командной строке .
export VIRTUALENVWRAPPER_PYTHON=/path/to/desired/version
за virtualenvwrapper docs не работала, но это решение действительно сработало?
– YPCrumble
8 November 2016 в 23:37
virtualenvwrapper
при запуске, не имеет ничего общего с установками.
– Chris Johnson
9 November 2016 в 02:47
Это сработало для меня
sudo apt-get install python3-minimal
virtualenv --no-site-packages --distribute -p /usr/bin/python3 ~/.virtualenvs/py3
Существует более простой способ:
virtualenv venv --python=python2.7
. Благодаря комментарию это работает только если у вас установлен python2.7 на системном уровне (например, /usr/bin/python2.7).
В противном случае, если вы используете доморощенный, вы можете использовать путь, чтобы дать вам то, что вы хотите.
virtualenv venv --python=/usr/local/bin/python
Вы можете найти путь к вашей установке python с помощью
which python
Это также будет работать с python 3.
which python3
>> /usr/local/bin/python3
virtualenv venv --python=/usr/local/bin/python3
В конечном итоге сжимается до:
virtualenv venv -p `which python`
virtualenv venv -p `which python3`
virtualenv env --python=python2
– Anshul
5 February 2018 в 07:56
Еще проще, используя подстановку команд для поиска python2 для вас:
virtualenv -p $(which python2) <path/to/new/virtualenv/>
Или при использовании virtualenvwrapper:
mkvirtualenv -p $(which python2) <env_name>
Для Mac (High Sierra) установите virtualenv в python3 и создайте virtualenv для python2:
$ python3 -m virtualenv --python=python2 vp27
$ source vp27/bin/activate
(vp27)$ python --version
Python 2.7.14
python3 -m pip install virtualenv
– Howe
3 July 2018 в 15:47
Да, приведенные выше ответы правильные и отлично работают в системах на базе Unix, таких как Linux & amp; MAC OS X.
Я попытался создать virtualenv для Python2 & amp; Python3 со следующими командами.
Здесь я использовал venv2 & amp; venv3 как их имена для Python2 & amp; Python3 соответственно.
Python2 & raquo;
blockquote>MacBook-Pro-2:~ admin$ virtualenv venv2 --python=`which python2` Running virtualenv with interpreter /usr/local/bin/python2 New python executable in /Users/admin/venv2/bin/python Installing setuptools, pip, wheel...done. MacBook-Pro-2:~ admin$ MacBook-Pro-2:~ admin$ ls venv2/bin/ activate easy_install pip2.7 python2.7 activate.csh easy_install-2.7 python wheel activate.fish pip python-config activate_this.py pip2 python2 MacBook-Pro-2:~ admin$
Python3 & raquo;
blockquote>MacBook-Pro-2:~ admin$ virtualenv venv3 --python=`which python3` Running virtualenv with interpreter /usr/local/bin/python3 Using base prefix '/Library/Frameworks/Python.framework/Versions/3.6' New python executable in /Users/admin/venv3/bin/python3 Also creating executable in /Users/admin/venv3/bin/python Installing setuptools, pip, wheel...done. MacBook-Pro-2:~ admin$ MacBook-Pro-2:~ admin$ ls venv3/bin/ activate easy_install pip3.6 python3.6 activate.csh easy_install-3.6 python wheel activate.fish pip python-config activate_this.py pip3 python3 MacBook-Pro-2:~ admin$
Проверка местоположений установки Python
blockquote>MacBook-Pro-2:~ admin$ which python2 /usr/local/bin/python2 MacBook-Pro-2:~ admin$ MacBook-Pro-2:~ admin$ which python3 /usr/local/bin/python3 MacBook-Pro-2:~ admin$
Это шаги, когда вы находитесь в среде общего хостинга и должны установить & amp; complie Python из источника, а затем создайте venv из вашей версии Python. Для Python 2.7.9 вы бы сделали что-то в этом направлении:
mkdir ~/src
wget http://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar -zxvf Python-2.7.9.tgz
cd Python-2.7.9
mkdir ~/.localpython
./configure --prefix=$HOME/.localpython
make
make install
virtual env
cd ~/src
wget https://pypi.python.org/packages/5c/79/5dae7494b9f5ed061cff9a8ab8d6e1f02db352f3facf907d9eb614fb80e9/virtualenv-15.0.2.tar.gz#md5=0ed59863994daf1292827ffdbba80a63
tar -zxvf virtualenv-15.0.2.tar.gz
cd virtualenv-15.0.2/
~/.localpython/bin/python setup.py install
virtualenv ve -p $HOME/.localpython/bin/python2.7
source ve/bin/activate
Естественно, это может быть применимо к любой ситуации, в которой вы хотите среды, в которой вы работаете и развертываете.
~/.localpython/bin/virtualenv
вместо просто virtualenv
для завершения установки без ошибок. Кроме того, используйте source ve/bin/activate
вместо source activate
.
– Saul
10 April 2013 в 08:40
virtualenv --python=/usr/bin/python2.6 <path/to/myvirtualenv>
-p
.
– Chris Johnson
5 August 2016 в 20:58
python3.6
, но не хотите прикасаться к python3.5
, установленному на вашем компьютере?
– alpha_989
31 July 2018 в 03:53
В окнах:
py -3.4x32 -m venv venv34
или
py -2.6.2 -m venv venv26
Это использует py
launcher , который найдет для вас правильный исполняемый файл python (при условии, что он установлен).
virtualenv --python=/usr/bin/python3 env
source env/bin/activate
Предположим, что у вас в настоящее время установлен python 2.7 в вашем virtualenv. Но вы хотите использовать python3.2. Вам нужно будет обновить это с помощью:
virtualenv --python=/usr/bin/python3.2 name_of_your_virtualenv
Затем активируйте свой virtualenv и введите python --version
в оболочке, чтобы проверить, обновлена ли ваша версия.
-p
.
– Chris Johnson
5 August 2016 в 20:58
UPDATE: для Python3.6 приведенный ниже сценарий pyvenv
устарел. Вместо этого Документы Python предлагают создание виртуальной среды с помощью следующей команды:
python3 -m venv <myenvname>
Для python3 (3.3+) используйте либо вышеуказанный метод, либо скрипт pyvenv
.
pyvenv /path/to/new/virtual/environment
Обратите внимание, что venv
не позволяет создавать virtualenv с другими версиями Python. Для этого установите и используйте пакет virtualenv
.
python3 -m venv <envname>
, чтобы предотвратить необходимость создания скриптов для всех.
– Paul Everitt
20 November 2016 в 17:08
pyvenv
является устаревшим в Python 3.6+, хотя основной модуль venv
сам по себе не является. Поэтому используйте python 3 -m venv <myenvname>
, как говорит @PaulEveritt.
– RichVel
20 December 2016 в 09:47
pyvenv
или python3 -m venv ...
НЕ устанавливали сценарий python-config
. Это означает, что даже после активации среды Python3 общесистемный python-config
будет вызван с запутанными последствиями. См. Этот отчет об ошибке от 2011 года github.com/pypa/virtualenv/issues/169 и мой вопрос stackoverflow.com/questions/42020937/…
– Laryx Decidua
23 February 2018 в 12:16
Вы можете вызвать virtualenv
с нужной версией python. Например:
python3 -m virtualenv venv
Или, альтернативно, прямо указывайте на свой виртуальный путь. например для окон:
c:\Python34\Scripts\virtualenv.exe venv
И при запуске:
venv/bin/python
Python 3.5.1 (v3.5.1:37a07cee5969, Dec 5 2015, 21:12:44)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
вы можете увидеть версию python, установленную в виртуальной среде
pip3 install virtualenv
– Nima Soroush
23 May 2016 в 14:30
Эти две команды должны отлично работать для новичков
virtualenv -p python2 myenv
(для python2)
virtualenv -p python3 myenv
(для python3)
На mac я использую pyenv и virtualenvwrapper. Мне пришлось создать новый virtualenv. Вам нужен доморощенный, который, как я полагаю, вы установили, если вы на Mac, но просто для удовольствия:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install pyenv
pyenv install 2.7.10
pyenv global 2.7.10
export PATH=/Users/{USERNAME}/.pyenv/versions/2.7.10/bin:$PATH
mkvirtualenv -p ~/.pyenv/versions/2.7.10/bin/python {virtual_env_name}
Я также сначала заморозил мои требования, чтобы просто переустановить в новом virtualenv с:
pip install -r requirements.txt
mkvirtualenv -p ~/.pyenv/versions/2.7.10/bin/python {virtual_env_name}
версиями, а не версией. Если бы SO разрешило короткие изменения, я бы это исправил.
– Martin Burch
4 September 2015 в 04:30
pyenv
включает поддержку virtualenv через плагин pyenv-virtualenv
, поэтому я считаю, что мне действительно не нужен virtualenvwrapper. Подробнее в my pyenv answer .
– RichVel
7 May 2017 в 07:26
virtualenv -p `which python2.6` <path/to/new/virtualenv>
– blaze 16 October 2013 в 01:57