GNU/Linux >> Linux Esercitazione >  >> Linux

Come rendere il mio modulo Python disponibile a livello di sistema su Linux?

In una delle directory elencate quando digiti sys.path nel prompt di Python. Puoi anche aggiungere la directory che contiene il tuo file modificando il PYTHONPATH variabile d'ambiente:

# ~/.bashrc file
export PYTHONPATH+=:/some/dir

Se stai usando Ubuntu, copia i file in /usr/local/lib/python2.7/dist-packages .Il seguente comando ti mostrerà dove copiare.

python -c "from distutils.sysconfig import *; print(get_python_lib())"

Se sei l'unico a utilizzare il modulo, copia i file in ~/.local/lib/python2.7/site-packages .


La risposta è:si tratta solo di autorizzazioni .

Non è sufficiente posizionare il file nella posizione corretta, ad esempio:/usr/local/lib/python2.7/dist-packages , devi anche assicurarti che il file possa essere letto dal processo che stai eseguendo, in questo caso python.

Assicurati che "altri" utenti abbiano accesso in lettura al file. Apri la console bash ed esegui questo:

sudo chmod o+r "yourmodule.py"
[Introduce the password]

Dopo questo vai di nuovo su Python e prova l'importazione:

import "yourmodule"

Finché il percorso in cui si trova il file .py è presente in PYTHONPATH + il file è leggibile, dovresti essere autorizzato a importarlo.


Esistono metodi per installare i moduli Python a livello di sistema. Potresti dare un'occhiata a distutils. Un buon tutorial per distutils2 (la versione corrente) può essere trovato qui.

Fondamentalmente devi scrivere un file setup.py che dice a distutils cosa fare. Quindi puoi semplicemente

python setup.py install

con i permessi di root per installare il tuo modulo in tutto il sistema. Ci sono esempi buoni e facili, inoltre è il modo più pulito che io possa immaginare.


Linux
  1. Come installare Python su Linux

  2. Come aumentare il numero di inode del disco in Linux

  3. Come montare e smontare un file system in Linux

  4. Come trovare file in formato DOS in un file system Linux

  5. Come eseguire il file python in linux

Come aggiungere un nuovo dispositivo al file system BTRFS in Linux

Come controllare/riparare il file system Linux all'avvio

Come controllare e riparare un file system in RHEL Linux

Come riparare gli errori del file system in Linux Mint

Come installare il server di condivisione file Samba su un sistema Linux

Come rendere eseguibile un file nel terminale Linux?