Eu sou um usuário do Windows e um novato no Ubuntu e DigitalOcean. Concluí as etapas em
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-12-04
e estou passando
mas está falhando em pip install django
, com
OSError: [Errno 13] Permission denied: '/opt/myenv/build'
Rastreamento:
(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
Registro de depuração:
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:~$
visual:
#
# 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
Pulei a etapa do problema e continuei com sucesso até pip install gunicorn
, momento em que recebi o mesmo erro:
OSError: [Errno 13] Permission denied: '/opt/myenv/build'
Para sua informação: estou fazendo isso dentro de um virtualenv ativado, conforme as instruções.
O que estou fazendo de errado? Obrigado por ajudar.
O acima é meu principal problema. Se o seguinte for fácil de responder, por favor responda. É a etapa que preciso realizar assim que descobrir o que foi dito acima:
Também preciso saber como atualizar do Python 2.7.6 para o Python 3.4.1 (ou a versão mais compatível com Ubuntu disponível). O Python já estava instalado – eu não o instalei.
Eu gostaria de ter apenas 3.4.1. Não quero 2,7 e 3,4 lado a lado.
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
Responder1
Suporte do Oceano Digital:
Portanto, independentemente de o seu usuário estar configurado para executar todos os comandos no visudo, você ainda precisará adicionar "sudo" a todos os seus comandos.
Em relação ao Python, a versão 2.7 simplesmente não pode ser removida. Se quiser usar o Python versão 3.xx, você precisará usar o comando python3.
Meu:
Parece que foi isso. O guia "Como instalar"
https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-django-with-postgres-nginx-and-gunicorn
não tem o prefixo "sudo" antes dos comandos "pip" e parece que deveria. Parece que o 3.4 também já está instalado. Excelente.
ATUALIZAR
Acontece que o que foi dito acima não é bom o suficiente. Embora instale o ipython, ele não o instalano ambiente virtual--não há nenhum ipython
diretório criado /opt/jenv/bin
. Quando instalado desta forma, no meu ambiente, pelo menos, iniciar o IPython usa Python 2.7, não 3.4. (é o que diz quando inicia).
A solução é ativar o virtualenv e depois instalar com ovirtualenv'spip:
sudo /opt/jenv/bin/pip install ipython
(Um lembrete de que sem sudo
isso não funciona - veja a pergunta.) IPython agora está instalado corretamente no diretório bin e, quando iniciado, diz que está usando Python 3.4 (desde que o virtualenv tenha sido criado com -p /usr/bin/python3.4
).
Pareceestas instruçõesprecisa ser mudado.