2012-02-20 7 views
11

Je voudrais créer le paquet le plus simple (paquet hello world) que je pourrais installer en utilisant pip dans un fichier virtualenv à partir d'un fichier zip local.créer un paquet simple qui peut être installé via Pip & virtualenv

En python je ferais

>> from myinstallpackage import mymodule 
>> mymodule.sayhello() 
hello ! 

Quelle serait la setup.py et dans le dossier de package?

Merci

Répondre

15

Vous devez créer compte sur http://pypi.python.org/. Ensuite, vous pouvez télécharger le module sur http://pypi.python.org/pypi?%3Aaction=submit_form.

Doc sur ce site contient toutes les commandes comme

Comment créer le module qui peut être télécharger sur pipy?

Comment télécharger de pip?

etc ...

Vous obtiendrez l'aide sur http://docs.python.org/distutils/index.html

vous pouvez également vous inscrire directement sur http://docs.python.org/distutils/packageindex.html

+0

Ma question était comment créer un module pip de base? Je n'ai trouvé aucune documentation appropriée sur la façon dont je peux créer un paquet installable pip de base. – gpasse

+0

Veuillez vérifier la réponse éditée. – Nilesh

+0

Cela semble ce dont j'avais besoin en effet – gpasse

1

Vous pouvez également essayer ce code:

def create(name,path_to_code,description,version,username,password,readme='',keywords=[]): 
    import os 
    from os.path import expanduser 
    with open(path_to_code,'r') as file: 
     code=file.read() 
    os.system('mkdir '+name) 
    with open(os.path.join(os.getcwd(),name+"/code.py"),'w') as file: 
     file.write(code) 
    with open(os.path.join(os.getcwd(),name+"/README.txt"),'w') as file: 
     file.write(readme) 
    with open(os.path.join(expanduser("~"),".pypirc"),'w') as file: 
     file.write(""" 
[distutils] 
index-servers=pypi 

[pypi] 
repository = https://upload.pypi.org/legacy/ 
username = %s 
password = %s 
[server-login] 
username = %s 
password = %s  
     """%(username,password,username,password,)) 
    with open(os.path.join(os.getcwd(),name+"/setup.py"),'w') as file: 
     file.write(""" 
from setuptools import setup 

setup(
     name='%s', # This is the name of your PyPI-package. 
     keywords='%s', 
     version='%s', 
     description='%s', 
     long_description=open('README.txt').read(), 
     scripts=['%s']     # The name of your scipt, and also the command you'll be using for calling it 
) 
     """%(name,' '.join(keywords),version,description,'code.py')) 

    os.system("cd "+name+";python3 setup.py register sdist upload -r https://upload.pypi.org/legacy/") 

puis exécutez et placez les paramètres dans la fonction create. Cela fera le paquet et le télécharger avec le nom donné.

Questions connexes