13

I'm not quite sure how to build a really simple one-file source module. Is there a sample module out there one the web somewhere which can be built as a python .egg?

From the setuptools page it looks pretty simple, you just have your setup.py file and then at least one other .py file somewhere, and I can build an .egg file OK, and even install it using easy_install, but I can't seem to import the file from within python. (note: using 2.6.4)


here's my sample dir:

sconsconfig
   setup.py
   sconsconfig.py

setup.py:

from setuptools import setup, find_packages
setup(name='sconsconfig',
      version='0.1',
      packages = find_packages(),
      )

sconsconfig.py:

def blarg(x):
  return x+1

If I run setup.py bdist_egg it then creates an egg file, but if I look in it, there's no .py source file....

1

2 Answers 2

7

You can use the py_modules argument instead of the packages argument to list single file modules.

See https://docs.python.org/3/distutils/setupscript.html#listing-individual-modules

Sign up to request clarification or add additional context in comments.

Comments

0

For distutils, from https://docs.python.org/3/distutils/introduction.html#a-simple-example :

from distutils.core import setup
setup(name='foo',
      version='1.0',
      py_modules=['foo'],
      )

Then you only need a file:

foo.py

And in Ubuntu 14.04:

sudo python setup.py

puts it under:

/usr/local/lib/python2.7/dist-packages/foo.py

without any directories.

2 Comments

It says "error: no commands supplied". I had to do "from setuptools import setup" and "python setup.py bdist_egg"
@lightbox142 thanks for the report. I don't have time to reproduce right now, let me know if you find something out! I should have made a minimal runnable example.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.