Reusable (local) Modules

2012-09-07 Thread Travis Griggs
I'm relatively new to Python (coming from strong C and Smalltalk backgrounds). 
I've written a couple of relatively small apps (one or two .py files). I'm 
using PyCharm (I love it).

I'm curious what the pythonic approach is to creating your own reusable 
modules. Any tutorials or high level explanations, or detailed, much 
appreciated. 

For example, I have a small module called valvenumbers.py. It's a family of 
functions that we use to do a variety of things with the serial numbers we 
attach to some of our products. Now I'm making a little desktop app using 
wxpython, and I want to use (import) that module. Using PyCharm, I have two 
separate projects in sibling directories. And there's another separate command 
line tool that wants to do the same. Currently, I just place a symlink to the 
valvenumbers.py, local to the directory of these apps. This seems like the 
quickest thing that could possibly work, but I'm assuming there's a more 
pythonic way to approach this general problem.

TIA!

Travis Griggs
Simplicity is the ultimate sophistication. -- Leonardo Da Vinci

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Reusable (local) Modules

2012-09-07 Thread Dave Angel
On 09/07/2012 01:56 PM, Travis Griggs wrote:
 I'm relatively new to Python (coming from strong C and Smalltalk 
 backgrounds). I've written a couple of relatively small apps (one or two .py 
 files). I'm using PyCharm (I love it).

 I'm curious what the pythonic approach is to creating your own reusable 
 modules. Any tutorials or high level explanations, or detailed, much 
 appreciated. 

 For example, I have a small module called valvenumbers.py. It's a family of 
 functions that we use to do a variety of things with the serial numbers we 
 attach to some of our products. Now I'm making a little desktop app using 
 wxpython, and I want to use (import) that module. Using PyCharm, I have two 
 separate projects in sibling directories. And there's another separate 
 command line tool that wants to do the same. Currently, I just place a 
 symlink to the valvenumbers.py, local to the directory of these apps. This 
 seems like the quickest thing that could possibly work, but I'm assuming 
 there's a more pythonic way to approach this general problem.

 TIA!

 Travis Griggs
 Simplicity is the ultimate sophistication. -- Leonardo Da Vinci


import sys
print sys.path

This will show you your path for imports.  The actual directories change
by default with different python versions, but one of them will be
suitable for putting new modules to be imported.  Naturally, you don't
want to add to the place where the stdlib is placed, but some of those
are normal writable directories.

-- 

DaveA

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Reusable (local) Modules

2012-09-07 Thread Dave Angel
On 09/07/2012 01:56 PM, Travis Griggs wrote:
 I'm relatively new to Python (coming from strong C and Smalltalk 
 backgrounds). I've written a couple of relatively small apps (one or two .py 
 files). I'm using PyCharm (I love it).

 I'm curious what the pythonic approach is to creating your own reusable 
 modules. Any tutorials or high level explanations, or detailed, much 
 appreciated. 

 For example, I have a small module called valvenumbers.py. It's a family of 
 functions that we use to do a variety of things with the serial numbers we 
 attach to some of our products. Now I'm making a little desktop app using 
 wxpython, and I want to use (import) that module. Using PyCharm, I have two 
 separate projects in sibling directories. And there's another separate 
 command line tool that wants to do the same. Currently, I just place a 
 symlink to the valvenumbers.py, local to the directory of these apps. This 
 seems like the quickest thing that could possibly work, but I'm assuming 
 there's a more pythonic way to approach this general problem.

 TIA!

 Travis Griggs
 Simplicity is the ultimate sophistication. -- Leonardo Da Vinci


import sys
print sys.path

This will show you your path for imports.  The actual directories change
by default with different python versions, but one of them will be
suitable for putting new modules to be imported.  Naturally, you don't
want to add to the place where the stdlib is placed, but some of those
are normal writable directories. There are also several ways to add your
own directories to that path, but maybe you don't need that complexity yet.

I'm sure others will be able to be more specific.

-- 

DaveA

-- 
http://mail.python.org/mailman/listinfo/python-list