Local apropriado para armazenar módulos personalizados do Python no Linux

1

Estou tentando entender onde e como os pacotes do Python são instalados e armazenados no Linux e encontrar o melhor local para armazená-los. Meu repositório é o Debian Wheezy.

Eu gostaria de armazenar todos os meus módulos Python personalizados em uma pasta.

Estou confuso, porque

1. Eu posso ver alguns pacotes (instalados com o apt-get), como pygame em todos os lugares a seguir:

  • / usr / share / pyshared / pygame
  • /usr/lib/pyshared/python2.7/pygame
  • /usr/lib/pyshared/python2.6/pygame
  • /usr/lib/python2.7/dist-packages/pygame
  • /usr/lib/python2.6/dist-packages/pygame

Com alguns arquivos vinculados a partir do pyshared - > para lib/python2.7/dist-packages

2. Alguns outros pacotes são instalados em /usr/share/pyshared e, em seguida, vinculados a /usr/lib/python2.6 e 2.7.

3. Finalmente, quando eu instalo algo com o easy_install, ele entra em /usr/local/lib/python2.7/dist-packages/ em algo .egg.

Em termos de todo esse caos, o que você acredita ser o caminho certo para manter os módulos personalizados e qual é o melhor formato de arquivo para eles? Os módulos de arquivo único devem ser chamados de something.py, enquanto vários módulos de arquivo devem estar em uma pasta com um __init__.py neles? Isso esta certo? Existe alguma razão para manter módulos de arquivo único em pastas também?

E, mais importante, onde devo mantê-los? /usr/local/lib/python2.7/my-packages/ ou dentro de pacotes dist?

    
por hyperknot 25.02.2014 / 19:15

1 resposta

1

Você pode mantê-los onde quiser, desde que altere $ PYTHPATH de acordo. Eu não os colocaria em / usr / lib / porque ele é reservado para arquivos que pertencem a pacotes .deb e podem ser facilmente desinstalados pelo dpkg / apt-get. Se você quiser manter seu sistema limpo, claro.

Você está certo sobre os módulos de arquivo único.

Se eu fosse você, eu os colocaria em / opt / my-python-packages ou ~ / my-python-packages - para distinguir entre pacotes de terceiros instalados por easy_install e os meus próprios.

    
por 26.02.2014 / 18:39