Le module Python ne s'installe pas
C'est mon setup.py
fichier
#!/usr/bin/env python
from setuptools import setup
from sys import path
setup(name= 'conundrum',
version= '0.1.0',
author= 'elssar',
author_email= '[email protected]',
py_modules= ['conundrum'],
url= 'https://github.com/elssar/conundrum',
license= 'MIT',
description= 'A framework agnostic blog generator.',
long_description= open(path[0]+'/README.md', 'r').read(),
install_requires= [
'PyYAML >= 3.0.9',
'Markdown >= 2.2.0',
'requests >= 1.0.4',
],
)
J'ai essayé d'utiliser à la fois setuptools
et distutils
mais ce ne sont pas installer mon module. Au lieu de cela je obtenir
file module.py (for module module) not found
C'est ma structure de répertoire
/module
|--/test
|--README.md
|--license.txt
|--module.py
|--setup.py
Juste pour être clair, le module est le répertoire racine.
Quelqu'un peut me dire ce que je fais mal?
C'est la sortie lorsque j'essaie d'installer
elssar@elssar-laptop:/usr/local/src/conundrum$ sudo python /home/elssar/code/conundrum/setup.py install
/usr/lib/python2.6/distutils/dist.py:250: UserWarning: 'licence' distribution option is deprecated; use 'license'
warnings.warn(msg)
running install
running bdist_egg
running egg_info
writing requirements to conundrum.egg-info/requires.txt
writing conundrum.egg-info/PKG-INFO
writing top-level names to conundrum.egg-info/top_level.txt
writing dependency_links to conundrum.egg-info/dependency_links.txt
warning: manifest_maker: standard file 'setup.py' not found
file conundrum.py (for module conundrum) not found
reading manifest file 'conundrum.egg-info/SOURCES.txt'
writing manifest file 'conundrum.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
file conundrum.py (for module conundrum) not found
file conundrum.py (for module conundrum) not found
warning: install_lib: 'build/lib.linux-x86_64-2.6' does not exist -- no Python modules to install
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying conundrum.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying conundrum.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying conundrum.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying conundrum.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying conundrum.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating 'dist/conundrum-0.1.0-py2.6.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing conundrum-0.1.0-py2.6.egg
removing '/usr/local/lib/python2.6/dist-packages/conundrum-0.1.0-py2.6.egg' (and everything under it)
creating /usr/local/lib/python2.6/dist-packages/conundrum-0.1.0-py2.6.egg
Extracting conundrum-0.1.0-py2.6.egg to /usr/local/lib/python2.6/dist-packages
conundrum 0.1.0 is already the active version in easy-install.pth
Installed /usr/local/lib/python2.6/dist-packages/conundrum-0.1.0-py2.6.egg
Processing dependencies for conundrum==0.1.0
Searching for requests==1.0.4
Best match: requests 1.0.4
Adding requests 1.0.4 to easy-install.pth file
Using /usr/local/lib/python2.6/dist-packages
Searching for Markdown==2.2.0
Best match: Markdown 2.2.0
Processing Markdown-2.2.0-py2.6.egg
Markdown 2.2.0 is already the active version in easy-install.pth
Installing markdown_py script to /usr/local/bin
Using /usr/local/lib/python2.6/dist-packages/Markdown-2.2.0-py2.6.egg
Searching for PyYAML==3.10
Best match: PyYAML 3.10
Adding PyYAML 3.10 to easy-install.pth file
Using /usr/local/lib/python2.6/dist-packages
Finished processing dependencies for conundrum==0.1.0
Juste pour être sûr, il n'y a pas quelque chose de mal, mon système, j'ai téléchargé deux forfaits à partir de github avec un semblable setup.py
et installé. Installé sans aucun problème.
source d'informationauteur elssar
Vous devez vous connecter pour publier un commentaire.
Je ne peux pas exécuter
setup.py
à partir d'un autre répertoire. Il doit être exécuté à partir du répertoire, il est en. C'était le problème ici.Fixe.
Si je comprends votre mise en page, le problème est que vous utilisez la valeur par défaut
package_dir
ce qui signifie que le haut-niveau des modules commemodule
doivent être dans le répertoire racine quemodule.py
pas commemodule/module.py
.Ajoutez ceci:
Maintenant, il va chercher pour
module
commemodule/module.py
.(PS, tout cela serait beaucoup moins perturbant pour discuter si votre module, ou son sous-répertoire, ou idéalement les deux, ont été appelés autre chose que "module". Aussi, si vous avez utilisé plus de format standard pour le dessin de votre arborescence.)
Ceci est expliqué dans Liste des packages complets. (Je me rends compte que vous êtes à la liste des modules individuels, et non l'ensemble des packages, mais les docs pour la section de simplement dire "encore une fois, vous pouvez remplacer l'emballage/le répertoire de la correspondance à l'aide de la package_dir option", se référant à la section I liés. Et le référence pour
package_dir
est encore moins utile; il dit seulement "Une cartographie du paquet pour les noms de répertoire".)