Apologies just re-read the mail, yes the pymel folder has the pymel, maya,
docs, examples etc.

Doh!
Dave

On Wed, Apr 14, 2010 at 1:28 AM, Chad Dombrova <chad...@gmail.com> wrote:

> just making sure:  D:\pipeline_tools\python\site-packages\pymel_1.0.0rc2
> has the pymel *and* maya directories below it?
>
> -chad
>
> On Apr 13, 2010, at 7:21 AM, David Shaw wrote:
>
> Hey everyone,
>
> Thank you for your insights on the sitecustomize setup.
>
> Bare with a new comer to python here and if anyone has the time to help
> explain the problem I get.
>
> My intention was to just have it detect Maya's version and whether 32 or
> 64bit to load or not load appropriate packages.
> In the case of Maya 2011 NOT install our server pymel package (although
> with Its 1.0 release today that may be moot)
> [I assume inserting it before the internal version overrides it?]
>
> But to my problem :).....
>
> It seems if I try and access anything Maya related at this early stage bad
> things happen :)
> Printing the lines Paul gave me to try when in the sitecustomize.py file
> gives the appropriate values I need
>
>  apiVerNum = MGlobal.apiVersion() and verString = MGlobal.mayaVersion()
>
> (201100 and 2011 respectively)
>
> If I use the MGlobal to query the maya version and do a check if its Maya
> 2011 so we do NOT install the pymel package for that version of Maya
> I get the following error:
>
> from pymel.all import *
>> # Error: AssertionError: assert hasattr(maya.utils, 'shellLogHandler'),
>> "If you manually installed pymel, ensure " \: 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. #
>>
>
> If you look at the path outputs below pymel does show before the Maya
> packages
>
> But if I comment out the anything that calls Maya and replace it with 
> *mayaVersion
> = '2011'* pymel imports just fine.
> The path output is identical.
>
> The Path after running the new sitecustomize.py script looks like: (Maya
> 2010 version) [The maya 2011 version just doenst have the bolded
> pymel_1.0.0rc2
>
> Post Path: D:\pipeline_tools\python\site-packages\pyodbc-2.1.7
>> Post Path: *D:\pipeline_tools\python\site-packages\pymel_1.0.0rc2*
>> Post Path: I:\Program Files (x86)\Autodesk\Maya2010\bin
>> Post Path: I:\Program Files (x86)\Autodesk\Maya2010\bin\python26.zip
>> Post Path: I:\Program Files (x86)\Autodesk\Maya2010\Python\DLLs
>> Post Path: I:\Program Files (x86)\Autodesk\Maya2010\Python\lib
>> Post Path: I:\Program Files (x86)\Autodesk\Maya2010\Python\lib\plat-win
>> Post Path: I:\Program Files (x86)\Autodesk\Maya2010\Python\lib\lib-tk
>> Post Path: I:\Program Files (x86)\Autodesk\Maya2010\Python
>> Post Path: I:\Program Files
>> (x86)\Autodesk\Maya2010\Python\lib\site-packages
>>
>
> This is the sitecustomeize.py that *doesn't* work [excuse any noob things
> if I am doing things the long way]
>
>> import sys
>> import os
>> import re
>> from maya.OpenMaya import MGlobal
>>
>> for p in sys.path: print ('Pre Path: ' + p)
>>
>> apiVerNum = MGlobal.apiVersion()
>> verString = MGlobal.mayaVersion()
>> mayaVersion = str(verString)
>>
>> path = os.environ.get ("PYTHON_SITEPACKAGES")
>> if(os.path.exists(path)):
>>     sitePackages = os.listdir(path)
>>     packagesToInsert = sitePackages[:] #duplicate the list so we can
>> remove any packages we don't want to insert
>>
>>     for package in sitePackages:
>>         if mayaVersion == '2011':
>>             pymelMatch = re.match('pymel', package)
>>             if pymelMatch:
>>                 packagesToInsert.remove(package)
>>
>>     for insertPackage in packagesToInsert:
>>         sitePath = os.path.join(path, insertPackage)
>>         realPath = os.path.realpath(sitePath)
>>         print '*** Inserting package: %s from path: %s' % (insertPackage,
>> realPath)
>>         sys.path.insert(0,realPath)
>> else:
>>     print "DEV: Site packages path does not exist in Maya.env - skipping"
>>
>> for p in sys.path: print ('Post Path: ' + p)
>>
>
> This is the sitecustomeize.py that *does *work [excuse any noob things if
> I am doing things the long way]
>
> import sys
>> import os
>> import re
>> #from maya.OpenMaya import MGlobal
>>
>> for p in sys.path: print ('Pre Path: ' + p)
>>
>> #apiVerNum = MGlobal.apiVersion()
>> #verString = MGlobal.mayaVersion()
>> mayaVersion = '2011'
>>
>> path = os.environ.get ("PYTHON_SITEPACKAGES")
>> if(os.path.exists(path)):
>>     sitePackages = os.listdir(path)
>>     packagesToInsert = sitePackages[:] #duplicate the list so we can
>> remove any packages we don't want to insert
>>
>>     for package in sitePackages:
>>         if mayaVersion == '2011':
>>             pymelMatch = re.match('pymel', package)
>>             if pymelMatch:
>>                 packagesToInsert.remove(package)
>>
>>     for insertPackage in packagesToInsert:
>>         sitePath = os.path.join(path, insertPackage)
>>         realPath = os.path.realpath(sitePath)
>>         print '*** Inserting package: %s from path: %s' % (insertPackage,
>> realPath)
>>         sys.path.insert(0,realPath)
>> else:
>>     print "DEV: Site packages path does not exist in Maya.env - skipping"
>>
>> for p in sys.path: print ('Post Path: ' + p)
>>
>
> The Maya.env variable PYTHON_SITEPACKAGES = D:\
> pipeline_tools\python\site-packages\
>
> with the following folders in D:\pipeline_tools\python\site-packages\:
>
>> pymel_1.0.0rc2
>> pyodbc-2.1.7
>>
>
> Anyway hopefully all that makes some sense and points the way to why it
> didnt work :)
>
> Dave
>
> --
> http://groups.google.com/group/python_inside_maya
>
>
>  --
> http://groups.google.com/group/python_inside_maya
>

-- 
http://groups.google.com/group/python_inside_maya

To unsubscribe, reply using "remove me" as the subject.

Reply via email to