相关疑难解决方法(0)

分布,distutils,setuptools和distutils2之间的差异?

情况

我正在尝试将一个开源库移植到Python 3.(SymPy,如果有人想知道的话.)

所以,我需要2to3在为Python 3构建时自动运行.为此,我需要使用distribute.因此,我需要移植当前系统(根据doctest)distutils.


问题

不幸的是,我不知道什么是这些模块-之间的区别distutils,distribute,setuptools.文档是最好的粗略,因为它们似乎都是彼此的分支,旨在在大多数情况下兼容(但实际上,不是全部)......等等.


问题

有人可以解释这些差异吗?我应该用什么?什么是最现代的解决方案?(Distribute顺便说一句,我也很欣赏一些关于移植的指南,但这有点超出了问题的范围......)

python packaging distutils setuptools distribute

588
推荐指数
3
解决办法
8万
查看次数

我可以在virtualenvs中安装Python windows包吗?

Virtualenv非常棒:它让我可以保留许多不同的Python安装,这样不同项目的依赖关系就不会全部集中在一起.

但是,如果我想在Windows上安装一个打包为.exe安装程序的软件包,我如何指导它安装到virtualenv?例如,我有pycuda-0.94rc.win32-py2.6.exe.当我运行它时,它会检查注册表,并且只找到一个要安装的Python26,这是我的virtualenv所基于的常见的.

如何指导它安装到virtualenv?

python windows virtualenv

125
推荐指数
4
解决办法
3万
查看次数

列出已安装的python site-packages?

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 django

11
推荐指数
3
解决办法
1万
查看次数

分发大型支持Python的应用程序:最佳实践

有一个庞大的Python应用程序,包含许多第三方包和二进制库.以下是我的要求概述:

  • 跨平台(目前是Windows和现代Linux发行版)
  • 安装批次(比方说> 100 MB)的二进制库(Windows上的DLL)
  • 安装第三方Python包(其中一些不能使用像这样的工具安装在Windows上easy_install)
  • 安装所需的Visual Studio可再发行组件包
  • 如果可能,保留我的包的文件布局(没有压缩蛋)
  • 删除所有包和库的明确方法
  • 分发测试套件(py.test在我的情况下)
  • .pyc无源分发选项(-only)

该应用程序至少应该是"可移植的"Python包(可以使用VirtualEnv安装在任何地方).

我有什么选择?我应该坚持使用setuptools(distribute)吗?我应该推出自定义安装程序吗?

正在开发的应用程序是专有的,但它为开发人员提供了Python API,我希望它看起来和感觉尽可能的pythonish和hackerish.

python distribution setuptools

10
推荐指数
1
解决办法
438
查看次数