Я человек из Windows и новичок в Ubuntu и DigitalOcean. Я выполнил шаги в
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-12-04
и прохожу
, но это сбой на pip install django
, с
OSError: [Errno 13] Permission denied: '/opt/myenv/build'
Отслеживание:
(myenv)jeffy@originaldjangster:~$ pip install django
Downloading/unpacking django
Cleaning up...
Exception:
Traceback (most recent call last):
File "/opt/myenv/local/lib/python2.7/site-packages/pip/basecommand.py", line 1 22, in main
status = self.run(options, args)
File "/opt/myenv/local/lib/python2.7/site-packages/pip/commands/install.py", l ine 278, in run
requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundl e=self.bundle)
File "/opt/myenv/local/lib/python2.7/site-packages/pip/req.py", line 1153, in prepare_files
location = req_to_install.build_location(self.build_dir, not self.is_downloa d)
File "/opt/myenv/local/lib/python2.7/site-packages/pip/req.py", line 218, in b uild_location
_make_build_dir(build_dir)
File "/opt/myenv/local/lib/python2.7/site-packages/pip/req.py", line 1527, in _make_build_dir
os.makedirs(build_dir)
File "/opt/myenv/lib/python2.7/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/opt/myenv/build'
Storing debug log for failure in /home/jeffy/.pip/pip.log
Журнал отладки:
jeffy@originaldjangster:~$ more /home/jeffy/.pip/pip.log
------------------------------------------------------------
/opt/myenv/bin/pip run on Tue Aug 5 14:45:38 2014
Downloading/unpacking django
Cleaning up...
Exception:
Traceback (most recent call last):
File "/opt/myenv/local/lib/python2.7/site-packages/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/opt/myenv/local/lib/python2.7/site-packages/pip/commands/install.py", line 278, in run
requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
File "/opt/myenv/local/lib/python2.7/site-packages/pip/req.py", line 1153, in prepare_files
location = req_to_install.build_location(self.build_dir, not self.is_download)
File "/opt/myenv/local/lib/python2.7/site-packages/pip/req.py", line 218, in build_location
_make_build_dir(build_dir)
File "/opt/myenv/local/lib/python2.7/site-packages/pip/req.py", line 1527, in _make_build_dir
os.makedirs(build_dir)
File "/opt/myenv/lib/python2.7/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/opt/myenv/build'
jeffy@originaldjangster:~$
visudo :
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
jeffy ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
Я пропустил этап проблемы и успешно продолжал до pip install gunicorn
, после чего я получил ту же ошибку:
OSError: [Errno 13] Permission denied: '/opt/myenv/build'
К вашему сведению: я делаю это в активированном virtualenv, в соответствии с инструкциями.
1120 Что я делаю не так? Спасибо за помощь.
Вышесказанное - моя основная проблема. Если следующее легко ответить в дополнение, пожалуйста, сделайте. Это тот шаг, который мне нужно сделать, как только я пойму вышесказанное:
Мне также нужно знать, как обновить Python 2.7.6 до Python 3.4.1 (или наивысшую доступную Ubuntu-совместимую версию ). Python уже был установлен - я не установил его.
Я хотел бы иметь только 3.4.1. Я не хочу 2,7 и 3,4 рядом.
jeffy@originaldjangster:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.1 LTS
Release: 14.04
Codename: trusty
jeffy@originaldjangster:~$ python --version
Python 2.7.6
Цифровая Океанская поддержка:
<час>Таким образом независимо, если Ваш пользователь установлен быть в состоянии выполнить все команды в visudo, Вы будете все еще обязаны добавлять "sudo" ко всем Вашим командам.
Относительно Python, версия 2.7 просто не может быть удалена. Если Вы будете желать использовать версию 3.xx Python, необходимо будет использовать команду python3.
Меня:
<час>Похож, который был им. "То, как установить" руководство
https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-django-with-postgres-nginx-and-gunicorn
, не имеет "sudo" префикса перед командами "зернышка", и кажется, что это должно. Это похоже 3.4, уже установлен также. Превосходный.
оказывается, что вышеупомянутое не достаточно хорошо. Хотя это устанавливает ipython, это не устанавливает его в virtualenv - нет никакого ipython
каталог, созданный в /opt/jenv/bin
вообще. Когда установлено таким образом, в моей среде, так или иначе, запуская IPython использует Python 2.7, не 3.4. (это - то, что это говорит, когда это запускает).
решение состоит в том, чтобы активировать virtualenv и затем установить с virtualenv's зернышко:
sudo /opt/jenv/bin/pip install ipython
(Напоминание, что без sudo
, это не работает - посмотрите вопрос.) IPython теперь правильно установлен в каталоге bin, и, когда запущено, говорит, что это использует Python 3.4 (как долго, поскольку virtualenv был создан с -p /usr/bin/python3.4
).
Это кажется эти инструкции потребность, которая будет изменена.