Estou tentando pip install
o MySQL-python
pacote, mas recebo um ImportError
.
Jans-MacBook-Pro:~ jan$ /Library/Frameworks/Python.framework/Versions/3.3/bin/pip-3.3 install MySQL-python
Downloading/unpacking MySQL-python
Running setup.py egg_info for package MySQL-python
Traceback (most recent call last):
File "<string>", line 16, in <module>
File "/var/folders/lf/myf7bjr57_jg7_5c4014bh640000gn/T/pip-build/MySQL-python/setup.py", line 14, in <module>
from setup_posix import get_config
File "./setup_posix.py", line 2, in <module>
from ConfigParser import SafeConfigParser
ImportError: No module named 'ConfigParser'
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 16, in <module>
File "/var/folders/lf/myf7bjr57_jg7_5c4014bh640000gn/T/pip-build/MySQL-python/setup.py", line 14, in <module>
from setup_posix import get_config
File "./setup_posix.py", line 2, in <module>
from ConfigParser import SafeConfigParser
ImportError: No module named 'ConfigParser'
----------------------------------------
Command python setup.py egg_info failed with error code 1 in /var/folders/lf/myf7bjr57_jg7_5c4014bh640000gn/T/pip-build/MySQL-python
Storing complete log in /Users/jan/.pip/pip.log
Jans-MacBook-Pro:~ jan$
Alguma ideia?
python
python-3.x
se __name__ for Nenhum
fonte
fonte
echo $PATH
diz?Respostas:
No Python 3,
ConfigParser
foi renomeado paraconfigparser
conformidade com o PEP 8. Parece que o pacote que você está instalando não suporta Python 3.fonte
sudo python3 -m pip install mysql-connector
e agora está funcionando. Obrigado pela dica @LongmangVocê pode usar o
mysqlclient
pacote como um substituto para o MySQL-python. É uma bifurcação deMySQL-python
com suporte adicional para Python 3.Tive sorte com simplesmente
no meu python3.4 virtualenv depois
que é obviamente específico do ubuntu / debian, mas eu só queria compartilhar meu sucesso :)
fonte
libpython3.5-minimal
pacote (sudo apt-get install libpython3.5-minimal
).Aqui está um código que deve funcionar no Python 2.xe 3.x
Obviamente, você precisará do
six
módulo, mas é quase impossível escrever módulos que funcionem nas duas versões sem seis.fonte
from six.moves import configparser
six.moves
é "fornecer uma interface consistente" para os módulos renomeados; empacotar importações com atry
/except
ao usarsix
derrotas o ponto. Apenas usefrom six.moves import configparser
. Não que seis sejam necessários aqui; você pode substituirfrom six.moves import configparser
porimport ConfigParser as configparser
no seuexcept
bloco e obter o mesmo resultado sem precisarsix
.six
apenas um requisito para o Python 2.X, mas não para o Python 3.X.six.moves
e o nome nativo também pode ser usado diretamente para o Python 2.Em seguida, tente instalar o MYSQL-python novamente. Isso funcionou para mim
fonte
O MySQL-python não é suportado no python3. Em vez disso, você pode usar o mysqlclient
Se você estiver
fedora/centos/Red Hat
instalando o seguinte pacoteyum install python3-devel
pip install mysqlclient
fonte
Se você estiver usando o CentOS, precisará usar
yum install python34-devel.x86_64
yum groupinstall -y 'development tools'
pip3 install mysql-connector
pip install mysqlclient
fonte
A compatibilidade do Python 2/3
configparser
pode ser resolvida simplesmente pelasix
bibliotecafonte
Faça
pip3 install PyMySQL
e entãopip3 install mysqlclient
. Trabalhou para mimfonte
Eu estava tendo o mesmo problema. Acontece que eu precisava instalar o python3 devel nos meus centos. Primeiro, você precisa procurar o pacote que é compatível com o seu sistema.
Em seguida, instale o pacote como:
Em seguida, instale o mysqlclient do pip
fonte
Aprendi mais com a resposta de Valeres:
Eu sugeriria vincular o arquivo em vez de copiá-lo. É salvar para atualizar. Eu vinculei o arquivo ao
/usr/lib/python3/
diretóriofonte
Experimente esta solução que funcionou bem para mim.
Basicamente, é para reinstalar / atualizar para a versão mais recente do mysql do brew e depois instalar
mysqlclient
ouMySQL-Python
emglobal pip3
vez devirtualenv pip3
.Em seguida, acessando o
virtualenv
e instale com êxitomysqlclient
ouMySQL-Python
.fonte
Que tal verificar a versão do Python que você está usando primeiro.
fonte
from six.moves import configparser
Eu corro o kali linux- Rolling e me deparei com esse problema, quando tentei executar o cupp.py no terminal, depois de atualizar para o python 3.6.0. Depois de algumas pesquisas e testes, descobri que mudar
ConfigParser
paraconfigparser
funcionou para mim, mas então me deparei com outra questão.config = configparser.configparser() AttributeError: module 'configparser' has no attribute 'configparser'
Depois de um pouco mais de pesquisa, percebi que o python 3
ConfigParser
foi alterado paraconfigparser
mas observe que ele possui um atributoConfigParser()
.fonte
Eu estava recebendo o mesmo erro no Mac OS 10, Python 3.7.6 e Django 2.2.7. Quero aproveitar esta oportunidade para compartilhar o que funcionou para mim depois de experimentar várias soluções.
Passos
Connector / Python 8.0.20 instalado para Mac OS a partir do link
Copie as dependências atuais para o arquivo requirements.txt, desative o ambiente virtual atual e o exclua usando;
crie o arquivo se ainda não tiver sido criado com;
touch requirements.txt
copiar dependência para arquivo;
python -m pip3 freeze > requirements.txt
desativar e excluir o ambiente virtual atual;
deactivate && rm -rf <virtual-env-name>
Criou outro ambiente virtual e o ativou usando;
python -m venv <virtual-env-name> && source <virtual-env-name>/bin/activate
Instale dependências anteriores usando;
python -m pip3 install -r requirements.txt
fonte
Por favor, para ver o que está
/usr/bin/python
apontandose estiver apontando para
python3 or higher
mudar parapython2.7
Isso deve resolver o problema.
Eu estava recebendo erro de instalação para todos os pacotes python. A solução e discussão de Abe Karplus me deram a dica do que poderia ser o problema. Lembrei-me de que havia mudado manualmente
/usr/bin/python
de depython2.7
para/usr/bin/python3.5
, o que realmente estava causando o problema. Uma vez eureverted
o mesmo. Foi resolvido.fonte
MySQL-python
é um exagero; use a versão Python 3 da biblioteca.Isso funcionou para mim
fonte