#python #django
#python #django
Вопрос:
Я пытаюсь установить Django на свой новый Mac, который я получил вчера. Я переключаюсь с Windows, но я не думал, что это должно было быть большой проблемой. Каждый раз, когда я пытаюсь установить версию 1.6.5 или версию для разработки, я продолжаю получать ту же ошибку:
Exception:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/commands/install.py", line 283, in run
requirement_set.install(install_options, global_options, root=options.root_path)
File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 1435, in install
requirement.install(install_options, global_options, *args, **kwargs)
File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 671, in install
self.move_wheel_files(self.source_dir, root=root)
File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 901, in move_wheel_files
pycompile=self.pycompile,
File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/wheel.py", line 215, in move_wheel_files
clobber(source, lib_dir, True)
File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/wheel.py", line 205, in clobber
os.makedirs(destdir)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/django'
Storing debug log for failure in /Users/Peter/Library/Logs/pip.log
Комментарии:
1.
sudo pip install django
возможно?2. @Paulo Bu к сожалению, это не сработало.
3. @Paulo Bu Я попробовал еще раз, и на этот раз все сработало, забыл письмо в первый раз, спасибо.
4. определенно, определенно virtualenv
Ответ №1:
попробуйте использовать с sudo, у меня это сработало:
sudo pip install django
Ответ №2:
Эта ошибка связана с тем, что ваша учетная запись не имеет никакого правильного доступа к каталогу установки. Если каталог установки является системным каталогом, вам может потребоваться войти в систему как administrator
или "root" account
.
Для входа в систему с правами root :
sudo su
с помощью setup_tool
вы можете легко обновить версию django. В Linux вы можете установить easy_install
с:
sudo apt-get install python-setuptools
Затем запустите:
sudo easy_install --upgrade django
Это удалит текущий путь django из PYTHON_PATH
, добавит свой собственный путь и обновит django до его новейшей версии.
Ответ №3:
Создание vitualenv решило эту проблему для меня. Я недавно установил Python3.4 и хотел использовать Django 1.8.X с этим. Установка Sudo pip, как и ожидалось, позволила импортировать Django и использовать его с python 2.7 по умолчанию, но попытка импорта привела к ошибке. Мое решение объединено с разных сайтов — примерно через 3 часа расследования было получено…
В терминале:
$ virtualenv -p /usr/local/bin etc/pythonX.X env
это создает virtualenv с именем env, но специально использует версию python, которую вы хотите. чтобы проверить, где находится ваша версия python, $which pythonX.X затем используйте этот путь с флагом -p. Убедитесь, что вы используете правильный python по умолчанию, используя $python -V. Затем
$ source env/bin/activate
на этом этапе вы можете pip установить yourrequiredpackage
$pip install django
и все хорошо … выполняется:
$python
>>>import django
>>>django.VERSION
показал, что он был успешно импортирован.
Я надеюсь, что это поможет — первый пост на S / O, поэтому надеюсь, что у меня есть стиль для правильного ответа, и это помогает! приветствуются все комментарии
Ответ №4:
Вы пытаетесь установить python на глобальном уровне python и вам нужны права root для установки дополнительных библиотек. Вы можете sudo pip install django
обойти это.
Однако наилучшей практикой является использование виртуальных сред. Это позволяет вам работать над несколькими проектами на Python, каждый со своей собственной коллекцией библиотек. https://virtualenv.pypa.io/en/latest /
Его легко настроить:
Сначала установите pip, затем virtualenv и, если хотите, установите virtualenvwrapper:
sudo easy_install pip
sudo pip install virtualenv
sudo pip install virtualenvwrapper
mkdir ~/.virtualenv
Добавьте это в свой ~/.profile
export WORKON_HOME=~/.virtualenv
source /usr/local/bin/virtualenvwrapper.sh
И все готово. Создайте новую виртуальную среду под названием «temp» с:
mkvirtualenv temp
Чтобы начать работу в среде:
workon temp
Отсюда вы можете pip install django
как ваш текущий пользователь.
Чтобы выйти из virtualenv, просто введите:
deactivate
Полные инструкции здесь:
http://virtualenvwrapper.readthedocs.org/en/latest/install.html
Ответ №5:
Я столкнулся с проблемой такого же типа при установке на High Sierra. В моем случае это была проблема с версией pip. Даже
установка pip-обновления
не удалось обновить версию pip. Итак, я удалил старый файл pip / pip2.7 / pip3 из папки и инициировал новое обновление. Это установило новую версию pip 18.
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
Затем,
python get-pip.py
После этого все было просто.
Перед установкой проверьте версию python по умолчанию, используя
какой python
команда. В случае, если это 3, все готово. В противном случае откройте профиль bash и измените версию python по умолчанию. (хотя и не рекомендуется).