A compilação de python .py para .pyc não acontece

0

Eu li que python irá compilar o arquivo de origem .py por si só para produzir .pyc , mas isso não acontece no meu caso. Eu tenho o arquivo de origem dentro da pasta /opt/osqa onde eu sempre tenho que usar privilégios sudo.

Como posso compilar este arquivo de origem manualmente? Eu estou usando o ArchLinux. Preciso de algum pacote específico?

    
por 71GA 04.12.2013 / 22:37

2 respostas

2

Os arquivos .pyc são criados quando arquivos são importados. Normalmente, executar um script por si só não cria um arquivo compilado. Por exemplo:

% cat tmp.py
print 'in tmp.py'

Quando eu corro o arquivo normalmente:

% python tmp.py 
in tmp.py

não há nenhum arquivo .pyc criado:

% ls tmp.py*
tmp.py

No entanto, se eu import tmp de um interpretador ao vivo do Python:

% python
Python 2.7.6 (default, Nov 14 2013, 09:55:56) 
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.2.79)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import tmp
in tmp.py
>>> 

o arquivo compilado é criado:

% ls tmp.py*
tmp.py  tmp.pyc

Portanto, pode ser um comportamento normal dependendo de como você está executando o seu script.

    
por 04.12.2013 / 23:52
2

Eu suspeito que os arquivos .pyc não estão sendo criados por causa das configurações de permissão no diretório em que você tem suas fontes python. Veja isto para mais informações: link

    
por 04.12.2013 / 22:59