Estou um pouco irritado com o processo de instalação do pacote python. Especificamente, qual é a diferença entre os pacotes instalados no diretório dist-packages e no diretório site-packages?
Estou um pouco irritado com o processo de instalação do pacote python. Especificamente, qual é a diferença entre os pacotes instalados no diretório dist-packages e no diretório site-packages?
dist-packages é uma convenção específica do Debian que também está presente em seus derivados, como o Ubuntu. Os módulos são instalados nos dist-packages quando eles vêm do gerenciador de pacotes Debian para este local:
/usr/lib/python2.7/dist-packages
Desde easy_install
e pip
são instalados a partir do gerenciador de pacotes, eles também usam dist-packages, mas colocam pacotes aqui:
/usr/local/lib/python2.7/dist-packages
No Wiki do Debian Python :
dist-packages em vez de site-packages. O software Python de terceiros instalado nos pacotes Debian entra em dist-packages, não em site-packages. Isso é para reduzir o conflito entre o Python do sistema e qualquer compilação Python de origem que você possa instalar manualmente.
Isso significa que, se você instalar manualmente o Python a partir da fonte, ele usará o diretório site-packages. Isso permite que você mantenha as duas instalações separadas, especialmente porque o Debian e o Ubuntu dependem da versão do sistema do Python para muitos utilitários do sistema.
dist-packages
é o diretório específico do debian onde osapt
amigos instalam seus itens esite-packages
é opip
diretório padrão .O problema é - o que acontece quando diferentes versões do mesmo pacote estão presentes em diretórios diferentes?
Minha solução para o problema é fazer
dist-packages
um link simbólico parasite-packages
:(se você não estiver usando ferramentas gnu, remova a
-v
opção).fonte