我是否可以在脚本中严格地从PyPi下载和安装Python模块,而无需在所有上使用shell ?
我使用一个非标准的Python环境,Autodesk Maya的Python解释器。这不是随"easy_install“而来的,也没有"shell”,只有由主Maya可执行文件调用的python解释器。将ez_setup.py的内容复制并粘贴到脚本编辑器窗口并正确运行它将easy_install安装到Maya的目录中,但是脚本错误地将Python解释器记录为"...maya.exe“而不是"...mayapy.exe”,而且使用easy_install需要一个shell。
其目标是提供一个Python脚本,例如,将NumPy安装到Maya系统中。这可以通过将鸡蛋放入站点包目录来实现,但这需要手动的用户干预。在Maya环境之外,终端用户必须做的任何事情本质上都是不可触摸的,特别是扰乱文件系统。但是通过脚本来破坏文件系统呢?这很好。
还有什么比ez_setup.py +编辑产生的easy.py的+子进程调用更优雅的吗?我觉得这是个基本特征。我在网上看到通过pip安装编程模块的文档..。但是需要先安装pip!
在脚本范围内安装模块的最优雅的方法是什么?
发布于 2012-10-22 17:46:47
在windows上为Maya安装easy_install。
现在,应该正确地设置简单的安装。您可能仍然需要执行以下步骤:
现在,您可以从cmd调用maeasy_install pythonModule来安装东西。此外,您还可以调用Maya内部的以下代码来安装模块:
from setuptools.command import easy_install
easy_install.main( ["pythonModule"] )注意:如果Maya安装在程序文件中,那么如果没有提升,就不能真正安装。除非您将磁盘权限更改为Maya目录。
发布于 2013-08-02 15:05:47
#!/usr/bin/env python
from __future__ import print_function
REQUIREMENTS = [ 'distribute', 'version', 'Cython', 'sortedcollection' ]
try:
from setuptools import find_packages
from distutils.core import setup
from Cython.Distutils import build_ext as cython_build
import sortedcollection
except:
import os, pip
pip_args = [ '-vvv' ]
proxy = os.environ['http_proxy']
if proxy:
pip_args.append('--proxy')
pip_args.append(proxy)
pip_args.append('install')
for req in REQUIREMENTS:
pip_args.append( req )
print('Installing requirements: ' + str(REQUIREMENTS))
pip.main(initial_args = pip_args)
# do it again
from setuptools import find_packages
from distutils.core import setup
from Cython.Distutils import build_ext as cython_build
import sortedcollection发布于 2018-07-07 12:54:38
要使其工作,打开ez_setup.py文件,只需在这一行的http后面添加一个s:
DEFAULT_URL = "http://pypi.python.org/packages/%s/s/setuptools/" % sys.version[:3]所以它变成了
DEFAULT_URL = "https://pypi.python.org/packages/%s/s/setuptools/" % sys.version[:3]https://stackoverflow.com/questions/12966147
复制相似问题