setuptools

How does setuptools decide which files to keep for sdist/bdist?

I'm working on a Python package that uses namespace_packages and find_packages() like so in setup.py: from setuptools import setup, find_packages setup(name="package", version="1.3.3.7", package=find_packages(), namespace_packages=['package'], ...) It isn't in source control because it is a bundle of upstream components. T...

Using easy_install inside a python script?

Hello. easy_install python extension allows to install python eggs from console like: easy_install py2app But is it possible to access easy_install functionality inside a python script? I means, without calling os.system( "easy_install py2app" ) but instead importing easy_install as a python module and using it's native methods? ...

Programmatically detect system-proxy settings on Windows XP with Python

I develop a critical application used by a multi-national company. Users in offices all around the globe need to be able to install this application. The application is actually a plugin to Excel and we have an automatic installer based on Setuptools' easy_install that ensures that all a project's dependancies are automatically installe...

How can I make setuptools ignore subversion inventory?

When packaging a Python package with a setup.py that uses the setuptools: from setuptools import setup ... the source distribution created by: python setup.py sdist not only includes, as usual, the files specified in MANIFEST.in, but it also, gratuitously, includes all of the files that Subversion lists as being version controlled ...

How to make easy_install expand a package into directories rather than a single egg file?

How exactly do I configure my setup.py file so that when someone runs easy_install the package gets expanded into \site-packages\ as a directory, rather than remaining inside an egg. The issue I'm encountering is that one of the django apps I've created won't auto-detect if it resides inside an egg. EDIT: For example, if I type easy_in...

python distutils / setuptools: how to exclude a module, or honor svn:ignore flag

Hello, I have a python project, 'myproject', that contains several packages. one of those packages, 'myproject.settings', contains a module 'myproject.settings.local' that is excluded from version control via 'svn:ignore' property. I would like setuptools to ignore this file when making a bdist or bdist_egg target. I have experimented...

What's the right way to use Unicode metadata in setup.py?

I was writing a setup.py for a Python package using setuptools and wanted to include a non-ASCII character in the long_description field: #!/usr/bin/env python from setuptools import setup setup(... long_description=u"...", # in real code this value is read from a text file ...) Unfortunately, passing a unicode object to s...

Make SetupTools/easy_install aware of installed Debian Packages?

Hi, I'm installing an egg with easy_install which requires ruledispatch. It isn't available in PyPI, and when I use PEAK's version it FTBFS. There is, however, a python-dispatch package which provides the same functionality as ruledispatch. How can I get easy_install to stop trying to install ruledispatch, and to allow it to recognize t...

Ubuntu + virtualenv = a mess? virtualenv hates dist-packages, wants site-packages

Can someone please explain to me what is going on with python in ubuntu 9.04? I'm trying to spin up virtualenv, and the --no-site-packages flag seems to do nothing with ubuntu. I installed virtualenv 1.3.3 with easy_install (which I've upgraded to setuptools 0.6c9) and everything seems to be installed to /usr/local/lib/python2.6/dist-pa...

How do I forbid easy_install from zipping eggs?

What must I put into distutils.cfg to prevent easy_install from ever installing a zipped egg? The compression is a nice thought, but I like to be able to grep through and debug that code. I pulled in some dependencies with python setup.py develop . A closer look reveals that also accepts the --always-unzip flag. It would just be nice to...

Accessing data files before and after distutils/setuptools

I'm doing a platform independent PyQt application. I intend to use write a setup.py files using setuptools. So far I've managed to detech platform, e.g. load specific options for setup() depending on platform in order to use py2exe on Windows... etc... However, with my application I'm distributing some themes, HTML and images, I need to...

How do I remove packages installed with Python's easy_install?

Python's easy_install makes installing new packages extremely convenient. However, as far as I can tell, it doesn't implement the other common features of a dependency manager - listing and removing installed packages. What is the best way of finding out what's installed, and what is the preferred way of removing installed packages? Are...

setuptools / dpkg-buildpackage: Refuse to build if nosetests fail

I have a very simple python package that I build into debian packages using setuptools, cdbs and pycentral: setup.py: from setuptools import setup setup(name='PHPSerialize', version='1.0', py_modules=['PHPSerialize'], test_suite = 'nose.collector' ) debian/rules: #!/usr/bin/make -f DEB_PYTHON_SYSTEM = pycentral include /usr/...

How to write a setup.py for a program that depends on packages outside pypi

For instance, what if PIL, python-rsvg and libev3 are dependencies of the program? These dependencies are not in pypi index, the latter two are Debian package names. ...

using setuptools with post-install and python dependencies

This is somewhat related to this question. Let's say I have a package that I want to deploy via rpm because I need to do some file copying on post-install and I have some non-python dependencies I want to declare. But let's also say I have some python dependencies that are easily available in PyPI. It seems like if I just package as a...

I'd like some advice on packaging this as an egg and uploading it to pypi

I wrote some code that I'd like to package as an egg. This is my directory structure: src/ src/tests src/tests/test.py # this has several tests for the movie name parser src/torrent src/torrent/__init__.py src/torrent/movienameparser src/torrent/movienameparser/__init__.py # this contains the code I'd like to package this directory s...

Managing resources in a Python project

I have a Python project in which I am using many non-code files. Currently these are all images, but I might use other kinds of files in the future. What would be a good scheme for storing and referencing these files? I considered just making a folder "resources" in the main directory, but there is a problem; Some images are used from w...

Fix permissions for rpm/setuptools packaging

I have a project that requires post-install hooks for deployment. My method is to use setuptools to generate the skeleton rpm spec file and tar the source files. The problem is that I don't know how to control permissions with this method. The spec file looks like: %install python setup.py install --single-version-externally-managed ...

How to trigger post-build using setuptools/distutils

I am building an application using py2app/setuptools, so once it creates application bundle I want to take some action on dist folder e.g. create a installer/upload it. Is there a way? I have found some post-install solution but no post-build Alternatively I can call 'python setup.py py2app' from my own script and do that, but it would...

How to make easy_install execute custom commands in setup.py?

I want my setup.py to do some custom actions besides just installing the Python package (like installing an init.d script, creating directories and files, etc.) I know I can customize the distutils/setuptools classes to do my own actions. The problem I am having is that everything works when I cd to the package directory and do "python s...