With pip there is --target which installs to a given location. Not sure if there’s an equivalent for ez_install.
ps. Not sure why your sending so many duplicate emails, but they each seem slightly different than the last. Perhaps you are attempting to edit a post on Google Groups? Just a heads up that that won’t work with a mailing list as each reply get’s send to everyone who’s subscribed immediately. On 21 January 2016 at 17:27, Paxton <[email protected]> wrote: > Marcus, > Right. but what i'm saying is that I am specifying a non-system directory > C:\Users\USER\MyScripts\MYPACKAGE\extensions with '--to-dir' > but it still errors out saying i cant write to C:\Program > Files\Autodesk\MAYAVERSION\Python\Lib\site-packages > even though i have specified a different directory... > it seems to use the directory specified to download the zip archive, but > then it procedes to install to site-pacckages anyway. > Is there a better way of pointing ez_install to a specific directory? > > Fredrik, to answer your question > "Is there a reason why you wouldn't want to go down such a route?" > > I am, perhaps foolheartedly trying to build packages that can download > their own latest versions as well as dependencies. > > > On Wednesday, 20 January 2016 13:05:08 UTC-8, Paxton wrote: > >> >> >> Hey Folks, >> >> I am trying to download and install setup_tools, easy_install and tinydb >> all from within mayas python interpreter.. >> >> I'm pretty close, but it looks like the system command to run ez-setup.py >> is not downloading the easy_install packages to mayas site_packages >> directory, which is strange because the same command works perfectly in the >> shell.. >> >> So the system call reads like this: >> /Applications/Autodesk/maya2016/Maya.app/Contents/bin/mayapy >> /Users/paxtongerrish/downloads/ez_setup.py >> >> I am pointing mayas python interpreter at ez_setup.py >> >> When i punch this command into the shell, it downloads setup_tools to >> mayas python site_packages directory... Great! :D >> >> However.. I need to have this all happen from inside mayas python >> interpreter and it does not work when called from os.system or >> subprocess.call >> >> Any help super appreciated.. >> >> thanks! >> >> >> import os >> import sys >> import urllib2 >> import subprocess >> >> setup_tools_address = >> 'https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py' >> downloads_directory = '%s/downloads' % os.getenv('HOME') >> >> if not os.path.exists(downloads_directory): >> os.makedirs(downloads_directory) >> >> def setup(): >> url = setup_tools_address >> file_path = '%s/%s' % (downloads_directory, url.split('/')[-1]) >> maya_py = maya_py_path() >> for p in download_url(url, file_path): >> print p >> system_command = '%s %s' % (maya_py, file_path) >> print '----- sys command--- (only works in shell)------\n' >> print system_command >> print '\n----------------------------------------------\n' >> #This system command works from shell, but not from python.... Maybe >> superuser thing?? >> #os.system(system_command) >> #sub process doesnt work either >> >> p = subprocess.Popen(system_command, shell=True, stdout=subprocess.PIPE) >> for i in p.stdout.readline(): >> sys.stdout.flush() >> print i >> add_eggs() >> from setuptools.command import easy_install >> easy_install.main(['tinydb']) >> add_eggs() >> import tinydb >> >> def download_url(url, file_path, block_size=2056): >> request = urllib2.urlopen(url) >> file_size = int(request.info()['Content-Length']) >> if not file_path: >> file_path = '%s/%s' % (os.getenv('HOME'), url.split("/")[-1]) >> downloaded_chunk = 0 >> with open(file_path, "wb") as f: >> while downloaded_chunk < file_size: >> chunk = request.read(block_size) >> downloaded_chunk += len(chunk) >> f.write(chunk) >> progress = float(downloaded_chunk) / file_size * 100 >> yield progress >> print("\nDownload Complete.") >> >> def maya_app_path(): >> appName = 'Maya' >> if sys.platform == 'win32': >> appName = 'Maya.exe' >> for p in sys.path: >> app_path = '%s/%s' % (p.replace('\\','/') , appName) >> if os.path.exists(app_path): >> return app_path >> >> def maya_py_path(): >> file_name = 'mayapy' >> if sys.platform == 'win32': >> file_name = 'mayapy.exe' >> return '%s\\%s' % >> (os.path.dirname(maya_app_path().replace('/','\\')), >> file_name.replace('/','\\')) >> return '%s/bin/%s' % (os.path.dirname(os.path.dirname(maya_app_path())), >> file_name) >> >> def get_site_packages_directory(): >> for p in sys.path: >> if p.endswith('site-packages'): >> return p >> >> def add_eggs(): >> site_packages_directory = get_site_packages_directory() >> for item in os.listdir(site_packages_directory): >> if item.endswith('.egg'): >> sys.path.append('%s/%s' % (site_packages_directory, item)) >> >> -- > You received this message because you are subscribed to the Google Groups > "Python Programming for Autodesk Maya" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/python_inside_maya/0681ca22-d1e5-42dc-83f0-a7aa4ea4e2c3%40googlegroups.com > <https://groups.google.com/d/msgid/python_inside_maya/0681ca22-d1e5-42dc-83f0-a7aa4ea4e2c3%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- *Marcus Ottosson* [email protected] -- You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CAFRtmOBhS%2BqXuPSr4VXeNSejFdBGBikmfKZ%3DnfCjQDK6180%3D8A%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
