Instalar a biblioteca de desenvolvimento do Python resolveu isso para mim (a partir dessa resposta: link ).
sudo apt-get install python-dev # for python2.x installs
sudo apt-get install python3-dev # for python3.x installs
Estou acompanhando o tutorial e afirma que
The $PYTHONPATH variable seems to get unset randomly, and causes errors for later steps.
e depois adicionar o seguinte a ~/.bashrc
:
export PYTHONPATH='/usr/lib/python2.7:/usr/lib/python2.7/plat-x86_64-linux-gnu:/usr/lib/python2.7/lib-tk:/usr/lib/python2.7/lib-old:/usr/lib/python2.7/lib-dynload:/usr/local/lib/python2.7/dist-packages:/usr/lib/python2.7/dist-packages:/usr/lib/python2.7/dist-packages/PILcompat'
Eu fiz isso e tentei instalar vários pacotes pip com pip install -r requirements.txt
Eu recebo uma carga de erros ao instalar todos os pacotes, isso pode ser visto aqui .
Acho que isso está relacionado ao problema com o PYTHONPATH. Por que recebo este erro e o que pode ser feito para que eu não receba erros ao usar python e pip? Obrigado.
Editar:
Eu verifiquei outros tutoriais para configurar o Flask com o Ubuntu e nenhum deles declarou alterar PYTHONPATH
. Eu segui este tutorial e tentei instalar pacotes em um virtualenv mas eu obter erros. Eu tentei instalar um pacote chamado python-bcrypt mas pegue isso no terminal:
bcrypt/bcrypt_python.c:17:20: fatal error: Python.h: No such file or directory
#include "Python.h"
^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
Eu tentei instalar o pycrypto e recebi o mesmo:
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -fwrapv -Wall -Wstrict-prototypes -fPIC -std=c99 -O3 -fomit-frame-pointer -Isrc/ -I/usr/include/python2.7 -c src/MD2.c -o build/temp.linux-x86_64-2.7/src/MD2.o
src/MD2.c:31:20: fatal error: Python.h: No such file or directory
#include "Python.h"
^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
Existe alguma razão para isso? Obrigado.
Instalar a biblioteca de desenvolvimento do Python resolveu isso para mim (a partir dessa resposta: link ).
sudo apt-get install python-dev # for python2.x installs
sudo apt-get install python3-dev # for python3.x installs
"Desviar aleatoriamente"? Não.
A variável de ambiente PYTHONPATH
é definida por um processo (provavelmente executando bash
). Se PYTHONPATH
for export
ed, uma cópia de PYTHONPATH
será passada para qualquer processo iniciado por este (ou qualquer um iniciado).
Se algum processo filho destruir PYTHONPATH
via:
unset PYTHONPATH
ou
PYTHONPATH=
então o mau PYTHONPATH
é visível apenas para o processo que o destruiu, e todos os processos que processam (ou seus filhos) são iniciados subseqüentemente.
Eventualmente, quando os processos filho terminar e sair, o processo com o% mauPYTHONPATH
será encerrado e a (má) definição que ele tinha para PYTHONPATH
também desaparecerá.
O processo que iniciou a criança que destruiu PYTHONPATH
terá a definição não destruída e sempre a terá.
Eu suspeito que "este tutorial" não tenha compreensão sobre o Linux e possa ser perigoso.
Seu PYTHONPATH
contém os seguintes diretórios:
/usr/lib/python2.7
/usr/lib/python2.7/plat-x86_64-linux-gnu
/usr/lib/python2.7/lib-tk
/usr/lib/python2.7/lib-old
/usr/lib/python2.7/lib-dynload
/usr/local/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages/PILcompat
Faça a si mesmo as seguintes perguntas, para CADA diretório em $ PYTHONPATH:
Existe no meu sistema e as permissões dizem que posso acessá-lo?
/bin/ls -ld $(echo "$PYTHONPATH" | tr ":" " ")
Posso acessar os arquivos dentro do diretório?
/bin/ls -l $(echo "$PYTHONPATH" | tr ":" " ")
Esse diretório contém arquivos que o Python, ou os programas em Python ou o que você deseja executar, e acessa por meio de $PYTHONPATH
.
Olhando para a mensagem FIRST error (not warning, not info, mas "error"), vê-se:
Running setup.py (path:/tmp/pip_build_ubuntu/MySQL-python/setup.py) egg_info for package MySQL-python
sh: 1: mysql_config: not found
Pesquisando manpages.ubuntu.com por msql_config
produz:
trusty (1) mysql_config.1.gz
Provided by: libmariadbclient-dev_5.5.36-1_i386
NAME
mysql_config - get compile options for compiling clients
SYNOPSIS
mysql_config options
DESCRIPTION
mysql_config provides you with useful information for compiling your
MySQL client and connecting it to MySQL.
Isso significa que você NÃO instalou e configurou com sucesso MySQL
ou MySQL client
, e o que quer que "este tutorial" esteja tentando fazer é requerer MySQL
.