I think the problem here is is the order of operations in which things are
executed.

In this case, I think the maya module is being imported before
userSetup.py/mel are run.  So, even though you change the path before pymel
is run, it's already "too late" to affect where maya is imported from; so
when pymel runs, and checks the maya module, it finds the wrong one.

The .pth file works because it's a standard python way of modifying the
path, and so essentially happens as soon as python starts up, before any
special maya python magic happens.

- Paul

On Fri, Jan 8, 2010 at 8:29 AM, JP <jspatr...@gmail.com> wrote:

> Well, I've been experimenting with this a bit and I'm still stumped.
> I thought perhaps the problem was that in my usersetup.py I was
> importing maya.utils before inserting the pymel directory to sys.path,
> so I tried disabling usersetup.py and adding these lines to the top of
> usersetup.mel:
>
> string $pymelPath = "C:\\Users\\John\\Documents\\maya\\scripts\
> \pymel-1.0.0b2";
> python("import sys");
> python("sys.path.insert(0,\"" + $pymelPath + "\")");
>
> However, I still get the same error message when importing pymel.core.
> The funny thing is that when I set up and place the pymel.pth file
> (included in extras) into mayapy's site-packages folder, everything
> works great.  I'm not up to speed on the intricacies of .pth files,
> but my impression is that it basically does the same thing?  It looks
> like this file adds the PyMEL directory to the path and then
> rearranges sys.path so that PyMEL comes first.
>
> So long story short, it *works*, just not exactly the way I'd prefer,
> and I feel like there's some path-related magic I'm not quite
> understanding.  I'm moving on for now, but if anyone can enlighten me,
> I'd very much appreciate it!
>
> On Jan 4, 5:59 am, Sylvain Berger <sylvain.ber...@gmail.com> wrote:
> > Try adding the path to the sys.path in a usersetup.mel instead of the
> > usersetup.py
> >
> > I had trouble with the usersetup.py, it gets evaluated later than the
> .mel
> > one.
> >
> > I made a init.py script that I launch in the usersetup.mel using the
> > python() command
> >
> > python("myInitScript()")
> >
> > Hope this helps
> >
> >
> >
> >
> >
> > On Mon, Jan 4, 2010 at 6:55 AM, JP <jspatr...@gmail.com> wrote:
> > > Hey all,
> >
> > > I had an easy time using the included installer, however I'm having a
> > > little trouble with a manual installation (which I need to set up to
> > > put the PyMEL resources on our network).
> >
> > > What I'm doing instead of altering the system environment variables or
> > > maya.env is running a procedure within usersetup.py that inserts the
> > > path to the top-level pymel-1.x.x directory to sys.path.  Here is my
> > > sys.path after inserting:
> >
> > > for p in sys.path: print p
> >
> > > C:/Users/John/Documents/maya/scripts/pymel-1.0.0b2
> > > C:\Program Files\Autodesk\Maya2009\bin
> > > C:\Program Files\Autodesk\Maya2009\bin
> > > C:\Program Files\Autodesk\Maya2009\bin\python25.zip
> > > C:\Program Files\Autodesk\Maya2009\Python\DLLs
> > > C:\Program Files\Autodesk\Maya2009\Python\lib
> > > C:\Program Files\Autodesk\Maya2009\Python\lib\plat-win
> > > C:\Program Files\Autodesk\Maya2009\Python\lib\lib-tk
> > > C:\Program Files\Autodesk\Maya2009\Python
> > > C:\Program Files\Autodesk\Maya2009\Python\lib\site-packages
> > > C:/Users/John/Documents/maya/2009-x64/prefs/scripts
> > > C:/Users/John/Documents/maya/2009-x64/scripts
> > > C:/Users/John/Documents/maya/scripts
> > > C:/Users/John/Documents/maya/scripts/.svn
> > > C:/Users/John/Documents/maya/scripts/aor
> > > C:/Users/John/Documents/maya/scripts/comet
> > > C:/Users/John/Documents/maya/scripts/dev
> > > C:/Users/John/Documents/maya/scripts/gnomonStudios
> > > C:/Users/John/Documents/maya/scripts/jasonSchleifer
> > > C:/Users/John/Documents/maya/scripts/jp
> > > C:/Users/John/Documents/maya/scripts/kevinPoly
> > > C:/Users/John/Documents/maya/scripts/maya
> > > C:/Users/John/Documents/maya/scripts/stopStarring
> > > C:/Users/John/Documents/maya/scripts/toolsGeneral
> > > C:/Users/John/Documents/maya/scripts/toolsRigging
> > > C:/Users/John/Documents/maya/scripts/toolsScripting
> > > C:/Users/John/Documents/maya/scripts/toolsTexture
> >
> > > After this, I try to import pymel.core, and get this error:
> > > # Error: If you manually installed pymel, ensure that pymel comes
> > > before Maya's site-packages directory on PYTHONPATH / sys.path.  See
> > > pymel docs for more info.
> >
> > > The docs recommend adding this top-level directory to the path, but I
> > > also tried individually adding the pymel and maya subdirectories to
> > > sys.path with the same result.
> >
> > > If anyone has any thoughts as to what's happening here, I'm all ears!
> > > Thanks all!
> >
> > > -JP
> > > On Dec 28 2009, 4:04 am, Miguel González Viñé <lichi...@gmail.com>
> > > wrote:
> > > > Thanks for the explanation, Chad.
> > > > I was following the tutorial and I was totally confused. There's a
> few
> > > > examples like:
> > > >   cam = ls(type='camera')[0]
> > > >   parent = cam.getParent()
> > > >   trans = parent.getTranslation() # <---
> > > >   trans
> > > >   # Result: dt.Vector([28.0, 21.0, 28.0])
> >
> > > > where I was trying to get dt.Vector and I was thinking there was a
> > > > problem in my installation or something wrong.
> >
> > > > Thanks again,
> > > > miguel.
> >
> > > > On Sun, Dec 27, 2009 at 7:41 PM, Chad Dombrova <chad...@gmail.com>
> > > wrote:
> >
> > > > > sphere1, hist = polySphere(name='mySphere')
> > > > > grp = group(sphere1)
> > > > > sphere1
> > > > > # Result: group1|mySphere #
> >
> > > > > nothing has changed in his regard.  from the beginning, autodesk
> chose
> > > to
> > > > > deviate from standard python practice of using repr() to display
> > > results,
> > > > > instead they use str().  this inevitably leads to confusion. here's
> how
> > > you
> > > > > can get what you expect:
> > > > >   print repr(sphere1)
> >
> > > > > this prints:
> > > > >   nt.Transform(u'group1|mySphere')
> > > > > here's a shorthand for the same thing:
> > > > >   print `sphere1`
> > > > > i need to clarify this in the tutorial.
> > > > > -chad
> >
> > > > > --
> > > > >http://groups.google.com/group/python_inside_maya
> >
> > > --
> > >http://groups.google.com/group/python_inside_maya
> >
> > --
> > "A pit would not be complete without a Freeman coming out of it."
> > The Vortigaunt
>
> --
> http://groups.google.com/group/python_inside_maya
>
-- 
http://groups.google.com/group/python_inside_maya

Reply via email to