Erro ao instalar python-docx

159 views
Skip to first unread message

Pedro Fonseca Zuccolo

unread,
Feb 13, 2015, 8:47:41 PM2/13/15
to python...@googlegroups.com
Olá a todos,

Sou extremamente novo em Python (e programação em geral) e preciso de uma ajuda bem de iniciante mesmo. Se aqui não for o lugar adequado para esse nível de dúvida, agradeço se alguém me disser onde posso procurar informações. Preciso gerar arquivos .docx usando o Python e estou com algumas dificuldades. Pesquisei na net e encontrei o módulo python-docx-0.8.1 (https://github.com/mikemaccana/python-docx/blob/master/README.markdown), que me parece o mais adequado para o que preciso. O primeiro problema é que não consigo instalá-lo em meu computador. Eu acho que devo estar fazendo algum erro muito básico.


Primeiro tentei instalar o módulo manualmente:

tar xvzf python-docx-0.8.1.tar.gz
cd python
-docx-0.8.1
python setup
.py install


O problema é que daí recebi a seguinte mensagem de erro:

python setup.py install
Traceback (most recent call last):
 
File "setup.py", line 6, in <module>
   
from setuptools import find_packages, setup
ImportError: No module named setuptools



Como esse método não deu certo eu tentei usar o seguinte:

easy_install python-docx



Segundo as instruções, esse método não era encorajado, mas como eu não consegui do outro jeito tentei mesmo assim. E daí tive a seguinte mensagem de erro:

easy_install python-docx
error
: can't create or remove files in install directory

The following error occurred while trying to add or remove files in the
installation directory:

    [Errno 13] Permission denied: '
/Library/Python/2.7/site-packages/test-easy-install-798.pth'

The installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:

    /Library/Python/2.7/site-packages/

Perhaps your account does not have write access to this directory?  If the
installation directory is a system-owned directory, you may need to sign in
as the administrator or "root" account.  If you do not have administrative
access to this machine, you may wish to choose a different installation
directory, preferably one that is listed in your PYTHONPATH environment
variable.

For information on other options, you may wish to consult the
documentation at:

  https://pythonhosted.org/setuptools/easy_install.html

Please make the appropriate changes for your system and try again.



Por fim, após bastante esforço (justamente porque sou novo nisso), instalei o pip e tentei usá-lo.

pip install python-docx



Mas novamente apareceu uma mensagem de erro:

 
error: could not create '/Library/Python/2.7/site-packages/lxml': Permission denied
   
   
----------------------------------------
   
Command "/usr/bin/python -c "import setuptools, tokenize;__file__='/private/var/folders/_3/jcs4xvm13pb6c0zhdps4f78w0000gn/T/pip-build-HhIOwV/lxml/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/_3/jcs4xvm13pb6c0zhdps4f78w0000gn/T/pip-hIp7B0-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/_3/jcs4xvm13pb6c0zhdps4f78w0000gn/T/pip-build-HhIOwV/lxml


Se alguém puder dar essa ajuda para iniciante, agradeço muito!

Abraço








Raniere Silva

unread,
Feb 16, 2015, 2:13:22 PM2/16/15
to python...@googlegroups.com
Olá Pedro,

> Preciso gerar arquivos .docx usando o Python e estou com
> algumas dificuldades.

Você poderia fornecer maiores informações?

Independente da sua resposta,
eu tentaria abordar o problema utilizando o Pandoc,
http://pandoc.org/.
Eu geraria o documento em Markdown utilizando Python
e converteria o Markdown para DOCX utilizando o Pandoc.

Raniere

Welton Vaz

unread,
Feb 16, 2015, 8:23:22 PM2/16/15
to python...@googlegroups.com
Pedro, 

E muito simples resolver isso, vc esta o PIP e o EASY-INSTALL, como
usuário, para instalar este módulos do Python vc tem que usar o sudo
ou como root. Ai eles instalaram normalmente.

Se vc estiver usando o Windows, instalar como Administrador.

Qualquer coisa estamos ai.



Enviado com MailTrack


--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar

<*> Para visitar o site do grupo na web, acesse:
    http://groups.google.com/group/python-brasil

<*> Para sair deste grupo, envie um e-mail para:
    python-brasi...@googlegroups.com

---
Você está recebendo esta mensagem porque se inscreveu no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/d/optout.



--

Welton Vaz de Souza
TWITTER: http://twitter.com/Weltonvaz
BLOG: http://ghandybh.blogspot.com/
FACEBOOK: https://www.facebook.com/weltonv
Cel: (31)9327-0823



Bonito é melhor que feio.
Explícito é melhor que implícito.
Simples é melhor que complexo.
Complexo é melhor que complicado.
Plano é melhor que aninhado.
Esparso é melhor que denso.
Legibilidade conta.
Casos especiais não são especiais o bastante para se quebrar as regras.
Embora a simplicidade supere o purismo.
Erros nunca deveriam passar silenciosamente.
A menos que explicitamente silenciados.
Ao encarar a ambiguidade, recuse a tentação de adivinhar.
Deveria haver uma – e preferencialmente apenas uma – maneira óbvia de se fazer isto.
Embora aquela maneira possa não ser óbvia à primeira vista se você não for holandês.
Agora é melhor que nunca.
Embora nunca, seja muitas vezes melhor que pra .
Se a implementação é difícil de explicar, é uma má idéia.
Se a implementação é fácil de explicar, pode ser uma boa idéia.
Namespaces são uma idéia estupenda – vamos fazer mais deles!
***********************************************************

 °v° NÃO USE DROGAS,
/(_)\ USE GNU/LINUX
 ^ ^

Diogo Leal

unread,
Feb 18, 2015, 4:39:37 AM2/18/15
to python...@googlegroups.com
Além disso eu sugiro que você aprenda sobre virtualenv e virtualenvwrapper. 

E use sempre o pip ao invés do easy_install




Diogo Leal [estranho]


Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.

Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Pedro Zuccolo

unread,
Feb 18, 2015, 7:34:24 AM2/18/15
to python...@googlegroups.com
Muito obrigado pelas dicas, pessoal.

Raniere,

Vou te explicar o que estou querendo. Sou psicólogo e trabalho com diagnóstico neuropsicológico de pessoas que com danos neurológicos ou problemas de aprendizagem. Esse diagnóstico consiste em uma avaliação das funções cognitivas (atenção, memória, raciocínio) e isso é feito em parte utilizando testes padronizados. A análise desses testes padronizados é feita comparando-se os resultados brutos do paciente (por exemplo, quanto tempo ele demorou para encontrar alguns estímulos-alvo numa dada tarefa) com a média da população de mesma faixa etária / escolaridade (quanto tempo em média as pessoas da mesma faixa etária demoram para encontrar esses estímulos-alvo). Apesar de ser muito simples fazer essas análises (é só comparar os dados da população com os resultados do paciente), isso consome um certo tempo.

Por isso, criei um programa que já calcula para mim a diferença entre os resultados brutos do paciente e os resultados esperados para a faixa etária. Fiz isso usando uma série de listas e dicionários. É um programa bem básico, mas funciona muito bem e me dá uma tabela com todas as análises. O que eu gostaria que o programa fizesse também é colar essa tabela de resultados em um arquivo de Word, assim eu só perderia tempo descrevendo os resultados e conclusões sobre o paciente antes de imprimir e assinar o laudo. Eu consigo gerar um arquivo com essa tabela em .txt, mas daí preciso recortar e colar ela no arquivo .docx que será o relatório. Pensei em usar algum módulo de Python que já faça isso para mim. Além disso, a depender do computador que estou usando, o arquivo em .txt não fica impresso direito (os caracteres especiais tipo ˜ ç etc não saem). Eu até coloquei # -*- coding: utf-8-*- no início do script, mas até onde entendi isso só permite que o script seja lido com esses caracteres, mas não garante que eles sejam impressos corretamente no arquivo .txt ou .docx. Me corrijam se eu estiver falando bobagem.

Eu pensei em usar o python-docx porque ele permite editar texto, mas vou estudar o pandoc para ver se não é uma opção melhor mesmo.

Welton,

Como exatamente eu deveria usar o sudo? Você poderia me dizer o comando? Se eu usar sudo install python-docx, será que funciona? Aproveitando, eu havia lido que há alguns riscos em se usar o sudo, por isso não usei esse comando (além do fato de eu não saber mesmo usá-lo). Há algum risco de fato no uso do comando?

Diogo,

Por que não usar o easy_install? 

Obrigado pela dica do virtualenv, vou estudar também para ver se é uma boa opção para o que preciso agora.

Abraços




 
--
Pedro Fonseca Zuccolo


De: Diogo Leal <m...@diogoleal.com>
Para: "python...@googlegroups.com" <python...@googlegroups.com>
Enviadas: Quarta-feira, 18 de Fevereiro de 2015 7:39
Assunto: Re: [python-brasil] Erro ao instalar python-docx

Welton Vaz

unread,
Feb 18, 2015, 8:13:47 AM2/18/15
to python...@googlegroups.com
Pedro,

O comando "sudo" permite que os usuários administrativos tenham "poderes" de root, ele só estragaria o computador se vc usar algum comando delicado sem saber o que vc esta fazendo. 
Como sugestão vc pode ler mais sobre os comandos ubuntu o assistir algumas aula da Boson Trei amentos no youtube: https://www.youtube.com/watch?v=swpxE9Q2y84&list=PLucm8g_ezqNqh_9TMx-ST1pTEXSbgJlTy

Vc aprende muita coisa no canal acima que pode te ajudar

Outra sugestão que dou, vc pode criar um conta no GITHUB e disponibilizar o seu programa, por  mais simples que seja vai ajudar outras pessoa e vc ainda pode conseguir melhorias que ainda não tinha pensado.

na documentação dos módulos do python tem os requisitos e como vc pode instalar o soft sem causar outros problemas.



Enviado com MailTrack

Diogo Leal

unread,
Feb 18, 2015, 1:02:47 PM2/18/15
to python...@googlegroups.com
Oi Pedro,

Bem legal a sua ideia.

O pip foi desenvolvido para substituir easy_install que possui alguns problemas.

Existe uma resposta muito boa no StackOverflow ->
O uso do virtualenv é legal que você isola o seu ambiente python do sistema e nesse caso você não precisa ter acesso de root ao servidor para realizar a instalação das dependências.

Quando eu comecei com o Python, eu não usava o virtualenv, até que atualizei o pip e arrebentei todo o meu sistema operacional e tive que refazer tudo. Desde esse dia, eu só uso o virtualenv.

Da uma olhada nessa documentação que ela te explica melhor que eu:
https://pythonhelp.wordpress.com/2012/10/17/virtualenv-ambientes-virtuais-para-desenvolvimento/


Diogo Leal [estranho]


Reply all
Reply to author
Forward
0 new messages