[Pythonmac-SIG] Distutils for research?

Bob Ippolito bob at redivi.com
Tue Dec 13 21:12:09 CET 2005


On Dec 13, 2005, at 11:36 AM, Schollnick, Benjamin wrote:

>
>> Is distutils more for distributing packages/modules than developing?
>
> The only situation I use distutils is for installing packages/modules,
> and distributing the software that I write (via py2app & py2exe).
>
> To my knowledge distutils is primarily for distributing packages &
> modules...

It's the only good way to compile extensions, which makes it  
infinitely useful for extension development as well.

However, setuptools is also useful for pure Python development,  
because setup.py develop goes ahead and checks all your dependencies  
and adds your working copy to sys.path (ensuring that it doesn't  
conflict with something already installed).  Normally I would  
manually generate a pth file to add my working copy to sys.path, but  
creating a minimal setup.py is easier than dealing with any of that.   
It can also create scripts via entry points, which saves more time.

crack:~/src/MyPackage bob$ cd ~
crack:~ bob$ mkdir -p src/MyPackage/MyPackage
crack:~ bob$ cd src/MyPackage
crack:~/src/MyPackage bob$ touch MyPackage/__init__.py
crack:~/src/MyPackage bob$ cat - > setup.py
#!/usr/bin/env python
from setuptools import setup, find_packages
setup(name="MyPackage", version="1.0", packages=find_packages())
crack:~/src/MyPackage bob$ python setup.py develop
running develop
running egg_info
creating MyPackage.egg-info
writing ./MyPackage.egg-info/PKG-INFO
writing top-level names to ./MyPackage.egg-info/top_level.txt
running build_ext
Creating /Library/Frameworks/Python.framework/Versions/2.4/lib/ 
python2.4/site-packages/MyPackage.egg-link (link to .)
Adding MyPackage 1.0 to easy-install.pth file

Installed /Volumes/Crack/src/MyPackage
Processing dependencies for MyPackage==1.0
crack:~/src/MyPackage bob$ cd ~
crack:~ bob$ python -c "import MyPackage; print MyPackage.__file__"
/Volumes/Crack/src/MyPackage/MyPackage/__init__.py


-bob



More information about the Pythonmac-SIG mailing list