2017-08-19 3 views
0

Supposons que j'ai un répertoire avec des fichiers .py personnalisés. Le répertoire s'appelle useful_scripts et un sous-répertoire appelé tested_scripts qui contient également des scripts (fichiers .py).Installation de modules en Python 3

Je l'ai vu sur certains articles, des déclarations d'importation comme:

from useful_scripts.tested_scripts import sth 

Comment peut-on installer nos modules de répertoire personnalisés de telle manière convienient afin que nous puissions y accéder comme ci-dessus?

+0

Mettez un __init __. Py' dans le dossier –

+0

Créez un dir utile_scripts avec un sous-répertoire tested_scrips où vous placez votre script sth.py. Ajoutez des scripts utiles à votre PYTHONPATH et placez un _ \ _ \ init \ _. Py vide dans les scripts useful_scripts et useful_scripts/tested_scripts. Si vous préférez ne rien ajouter à votre PYTHONPATH, vous pouvez également ajouter des scripts utiles à sys.path par programmation. –

+1

Écrire un 'setup.py' et l'installer? – jonrsharpe

Répondre

1

Si vous disposez de plusieurs modules (fichier Python avec py) dans le répertoire et que vous voulez importer un module dans un autre module, puis d'abord définir ce répertoire dans un répertoire python ou package

paquets sont namespaces qui contiennent plusieurs paquets et package modules.Each en Python est un répertoire qui doit contenir un fichier spécial appelé __init__.py

Python Package

Votre structure de répertoire Shoul d être comme ça si vous voulez importer des modules ou package

enter image description here

Vous pouvez maintenant importer le module a.py dans le module b.py ou b.py du module dans le module a.py

Si vous voulez installer ensuite sur mesure lib créer setup.py le fichier où existe répertoire coustomlib (créer setup.py en dehors du répertoire coustomlib ou le long coustomlib)

dans setup.py

#!/usr/bin/env python 

from distutils.core import setup 
from setuptools import setup, find_packages 

setup(name='coustomlib', 
    version='1.0', 
    description='Python coustom lib ', 
    author='your name', 
    author_email='[email protected]', 
    packages=find_packages(), 
)  

pour l'installation run

python setup.py install 

Après l'installation coustomlib vous pouvez l'importer tout module

import coustomlib 

Ou

from coustomlib.module1 import a 

En savoir plus sur setup.py

+0

@Kaliz, pourquoi le __init__.py peut-il être vide? – mathmaniage

+0

@BeshalJaenal son déjà répondre ici 'https://stackoverflow.com/questions/448271/what-is-init-py-for' – Kallz