Virtualenv: Erro com _sysconfigdata_nd.py ausente em /usr/lib/python2.7/ para Ubuntu 13.04

Criado em 16 mar. 2013  ·  11Comentários  ·  Fonte: pypa/virtualenv

Olá! Estou testando a nova versão beta 13.04 do Ubuntu e estou tendo problemas com alguns erros de importação do virtualenv. Tive esta saída ao tentar construir o firefox:

Creating Python environment
Cannot find file /usr/include/x86_64-linux-gnu/python2.7 (bad symlink)
New python executable in /home/marco/bernardo/FD/src/obj-x86_64-unknown-linux-gnu/_virtualenv/bin/python2.7
Not overwriting existing python script /home/marco/bernardo/FD/src/obj-x86_64-unknown-linux-gnu/_virtualenv/bin/python (you must use /home/marco/bernardo/FD/src/obj-x86_64-unknown-linux-gnu/_virtualenv/bin/python2.7)
Installing setuptools...................................
  Complete output from command /home/marco/bernardo...ualenv/bin/python2.7 -c "#!python
\"\"\"Bootstra...sys.argv[1:])

" /home/bernardo/bernardo...ols-0.6c11-py2.7.egg:
  Traceback (most recent call last):
  File "<string>", line 278, in <module>
  File "<string>", line 239, in main
  File "/home/bernardo/bernardo/FD/src/python/virtualenv/virtualenv_support/setuptools-0.6c11-py2.7.egg/setuptools/command/easy_install.py", line 1712, in main
  File "/home/marco/bernardo/FD/src/python/virtualenv/virtualenv_support/setuptools-0.6c11-py2.7.egg/setuptools/command/easy_install.py", line 1700, in with_ei_usage
  File "/home/marco/bernardo/FD/src/python/virtualenv/virtualenv_support/setuptools-0.6c11-py2.7.egg/setuptools/command/easy_install.py", line 1716, in <lambda>
  File "/usr/lib/python2.7/distutils/core.py", line 152, in setup
    dist.run_commands()
  File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python2.7/distutils/dist.py", line 971, in run_command
    cmd_obj.ensure_finalized()
  File "/usr/lib/python2.7/distutils/cmd.py", line 109, in ensure_finalized
    self.finalize_options()
  File "/home/marco/bernardo/FD/src/python/virtualenv/virtualenv_support/setuptools-0.6c11-py2.7.egg/setuptools/command/easy_install.py", line 125, in finalize_options
  File "/home/marco/bernardo/FD/src/python/virtualenv/virtualenv_support/setuptools-0.6c11-py2.7.egg/setuptools/command/easy_install.py", line 1121, in _expand
  File "/usr/lib/python2.7/distutils/cmd.py", line 312, in get_finalized_command
    cmd_obj.ensure_finalized()
  File "/usr/lib/python2.7/distutils/cmd.py", line 109, in ensure_finalized
    self.finalize_options()
  File "/home/marco/bernardo/FD/src/python/virtualenv/virtualenv_support/setuptools-0.6c11-py2.7.egg/setuptools/command/install.py", line 32, in finalize_options
  File "/usr/lib/python2.7/distutils/command/install.py", line 321, in finalize_options
    (prefix, exec_prefix) = get_config_vars('prefix', 'exec_prefix')
  File "/home/marco/bernardo/FD/src/obj-x86_64-unknown-linux-gnu/_virtualenv/lib/python2.7/distutils/__init__.py", line 92, in sysconfig_get_config_vars
    real_vars = old_get_config_vars(*args)
  File "/usr/lib/python2.7/distutils/sysconfig.py", line 503, in get_config_vars
    func()
  File "/usr/lib/python2.7/distutils/sysconfig.py", line 447, in _init_posix
    from _sysconfigdata import build_time_vars
  File "/usr/lib/python2.7/_sysconfigdata.py", line 6, in <module>
    from _sysconfigdata_nd import *
ImportError: No module named _sysconfigdata_nd
----------------------------------------
...Installing setuptool...

Procurando algum tipo de solução, encontrei este ticket no Ubuntu's mas tracker descrevendo o mesmo problema que eu estava tendo. Lendo os comentários, houve uma solução alternativa para corrigir o problema, mas também havia um comentário dizendo que este é um problema do virtualenv, como você pode ver aqui . Achei que seria bom abrir este tíquete para ver se posso ajudar em algo.

Comentários muito úteis

sudo rm /usr/lib/python2.7/_sysconfigdata_nd.py
sudo ln -fs /usr/lib/python2.7/plat-i386-linux-gnu/_sysconfigdata_nd.py /usr/lib/python2.7/

No meu caso, Ubuntu 13.04.

Todos 11 comentários

@berinhard Tive o mesmo problema, esse problema está no pacote Python do Ubuntu, para resolver o problema crie um link simbólico do arquivo:

ln -fs /usr/lib/python2.7/plat-x86_64-linux-gnu/_sysconfigdata.py /usr/lib/python2.7/

Não se esqueça deste também:

sudo ln -fs /usr/lib/python2.7/plat-x86_64-linux-gnu/_sysconfigdata_nd.py /usr/lib/python2.7/

sudo rm /usr/lib/python2.7/_sysconfigdata_nd.py
sudo ln -fs /usr/lib/python2.7/plat-i386-linux-gnu/_sysconfigdata_nd.py /usr/lib/python2.7/

No meu caso, Ubuntu 13.04.

Eu fiz a mesma coisa.

Na sexta-feira, 21 de junho de 2013 às 17:54, emetemunoy [email protected] :

sudo rm /usr/lib/python2.7/_sysconfigdata_nd.py
sudo ln -fs /usr/lib/python2.7/plat-i386-linux-gnu/_sysconfigdata_nd.py
/usr/lib/python2.7/
No meu caso, Ubuntu 13.04.

-
Responda a este e-mail diretamente ou visualize-o em Gi tHubhttps: //github.com/pypa/virtualenv/issues/410#issuecomment -19824257
.

Arnaud

obrigado..!!

@cleberjsantos tks! trabalhe para mim.

para o ubuntu 14.04 este problema surge devido à visualização

Existem 2 métodos para resolver este problema.

basta fazer um link para _sysconfigdata_nd

$ ln -fs /usr/lib/python2.7/plat-x86_64-linux-gnu/_sysconfigdata.py /usr/lib/python2.7/
$ sudo ln -fs /usr/lib/python2.7/plat-x86_64-linux-gnu/_sysconfigdata_nd.py /usr/lib/python2.7/

é isso
agora você será capaz de obter o console python2.7

use o virtual

por exemplo, para fazer um python virtual 2.7
você pode usar este comando:

$ virtualenv --python=python2.7 py2
$ cd py2
$ source bin/activate

agora você verá que py2 antes de seu ubuntu @ ubnutu , como

(py2) ubuntu @ ubuntu $

agora, quando você digitar o python, você verá o console do python2.7

da mesma forma, você pode fazer isso para o python3 também

No Ubuntu 17.10, ainda tenho o erro :(
e eu fiz o que você sugere :(

Eu tive o mesmo problema com o python3.5. Depois de algum tempo depurando, finalmente descobri a solução. Se você estiver usando python3.5, o nome do arquivo de configuração é "_sysconfigdata_m.py". Este é o código que você deseja usar:
sudo rm /usr/lib/python3.5/_sysconfigdata.py
sudo ln -fs /usr/lib/python3.5/plat-x86_64-linux-gnu/_sysconfigdata_m.py /usr/lib/python3.5/
sudo mv /usr/lib/python3.5/_sysconfigdata_m.py /usr/lib/python3.5/_sysconfigdata.py

Recebi este erro no serviço e não tinha privilégios de root, não consigo executar o comando sudo, então o que devo fazer para lidar com isso?

Esse problema geralmente surge quando o ambiente conda é instalado. Portanto, o ambiente deve ser ativado antes de digitar python . para habilitar um ambiente source activate name-of-environment . Para criar o ambiente conda create --name env1 python=2.7

Esta página foi útil?
0 / 5 - 0 avaliações