Difference between revisions of "Python package guidelines"

From ArchWiki
Jump to: navigation, search
m (Notes)
m (sentence case in headings)
Line 5: Line 5:
 
Writing [[PKGBUILD]]s for software written in [[Python]].
 
Writing [[PKGBUILD]]s for software written in [[Python]].
  
== Package Naming ==
+
== Package naming ==
 
For libraries, use {{Ic|python-''modulename''}}. For applications, use the program name. In either case, the package name should be entirely lowercase.
 
For libraries, use {{Ic|python-''modulename''}}. For applications, use the program name. In either case, the package name should be entirely lowercase.
  
 
Python 2 libraries should instead be named {{Ic|python2-''modulename''}}.
 
Python 2 libraries should instead be named {{Ic|python2-''modulename''}}.
  
== File Placement ==
+
== File placement ==
 
Most Python packages are installed with the [http://docs.python.org/library/distutils.html distutils] system using '''setup.py''', which installs files under {{Ic|/usr/lib/python''<python version>''/site-packages/''pkgname''}} directory.
 
Most Python packages are installed with the [http://docs.python.org/library/distutils.html distutils] system using '''setup.py''', which installs files under {{Ic|/usr/lib/python''<python version>''/site-packages/''pkgname''}} directory.
  

Revision as of 15:38, 27 May 2013

Template:Package Guidelines

Writing PKGBUILDs for software written in Python.

Package naming

For libraries, use python-modulename. For applications, use the program name. In either case, the package name should be entirely lowercase.

Python 2 libraries should instead be named python2-modulename.

File placement

Most Python packages are installed with the distutils system using setup.py, which installs files under /usr/lib/python<python version>/site-packages/pkgname directory.

Notes

The --optimize=1 parameter compiles .pyo files so they can be tracked by pacman.

In most cases, you should put any in the arch array since most Python packages are architecture independent.

Please do not install a directory named just tests, as it easily conflicts with other Python packages (for example, /usr/lib/python2.7/site-packages/tests/).

Example

An example PKGBUILD can be found at /usr/share/pacman/PKGBUILD-python.proto, which is in the abs package.