我正在尝试将一个开源库移植到Python 3.(SymPy,如果有人想知道的话.)
所以,我需要2to3在为Python 3构建时自动运行.为此,我需要使用distribute.因此,我需要移植当前系统(根据doctest)distutils.
不幸的是,我不知道什么是这些模块-之间的区别distutils,distribute,setuptools.文档是最好的粗略,因为它们似乎都是彼此的分支,旨在在大多数情况下兼容(但实际上,不是全部)......等等.
有人可以解释这些差异吗?我应该用什么?什么是最现代的解决方案?(Distribute顺便说一句,我也很欣赏一些关于移植的指南,但这有点超出了问题的范围......)
Virtualenv非常棒:它让我可以保留许多不同的Python安装,这样不同项目的依赖关系就不会全部集中在一起.
但是,如果我想在Windows上安装一个打包为.exe安装程序的软件包,我如何指导它安装到virtualenv?例如,我有pycuda-0.94rc.win32-py2.6.exe.当我运行它时,它会检查注册表,并且只找到一个要安装的Python26,这是我的virtualenv所基于的常见的.
如何指导它安装到virtualenv?
from distutils.sysconfig import get_python_lib; print get_python_lib()
Run Code Online (Sandbox Code Playgroud)
返回: /usr/lib/python2.6/site-packages
import sys; print sys.path
Run Code Online (Sandbox Code Playgroud)
返回: ['', '/usr/lib/python2.6/site-packages/Django-1.1.1-py2.6.egg', '/usr/lib/python2.6/site-packages/pip-0.6.3-py2.6.egg', '/usr/lib/python2.6/site-packages/TRML2PDF-1.0-py2.6.egg', '/usr/lib/python2.6/site-packages/django_threaded_multihost-1.3_3-py2.6.egg',...............
但是如何列出安装的网站包中的"可导入名称"?例如:(在导入结果之前)django, pip, trm2pdf....
谢谢.
有一个庞大的Python应用程序,包含许多第三方包和二进制库.以下是我的要求概述:
easy_install)py.test在我的情况下).pyc无源分发选项(-only)该应用程序至少应该是"可移植的"Python包(可以使用VirtualEnv安装在任何地方).
我有什么选择?我应该坚持使用setuptools(distribute)吗?我应该推出自定义安装程序吗?
正在开发的应用程序是专有的,但它为开发人员提供了Python API,我希望它看起来和感觉尽可能的pythonish和hackerish.
python ×4
setuptools ×2
distribute ×1
distribution ×1
distutils ×1
django ×1
packaging ×1
virtualenv ×1
windows ×1