问题标签 [setuptools]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
9776 浏览

python - Setuptools 没有为 entry_points 传递参数

我正在为我编写的 Python 脚本使用 setuptools

安装后,我这样做:

就像我正在运行它一样。/like_this

但是,我得到:

看起来 setuptools 没有将我的参数发送给 main() 进行解析(通过 optparse)

这是我的 entry_points 的 setuptools 配置:

有任何想法吗?

0 投票
1 回答
443 浏览

javascript - 多语言库的python位的文件布局和setuptools配置

所以我们正在编写一个全文搜索框架MongoDb。MongoDB 几乎是 javascript-native,所以我们首先编写了 javascript 库,它可以工作。

现在我正在尝试为它编写一个 python 框架,它将部分在 python 中,但部分使用那些相同的存储 javascript 函数 - javascript 函数是库的固有部分。另一方面,javascript 框架不依赖于 python。由于它们相互交织在一起,因此将它们保存在同一个存储库中似乎是值得的。

我正在尝试找出一种构建整个项目的方法,以赋予 javascript 和 python 框架同等的地位(可能是 ruby​​ 驱动程序或将来的任何东西?),但仍然允许 python 库很好地安装。

目前它看起来像这样:(简化了一点)

为简单起见,我跳过了一些文件,但你明白了一般的想法;这是一个非常标准的python项目......除了它关键地依赖于存储在同级目录树中的一大堆javascript。

当涉及到 setuptools 时,处理这种事情的首选设置是什么?根据 setuptools 文档,我可以弄清楚如何使用package_dataetc 来安装存在于我的 python 项目中的数据文件。

问题是如果我想使用 setuptools 安装东西,包括来自 python 代码树之外的 javascript 文件,然后在我开发 python 代码以及将其easy_install编辑到某人的站点时也以一致的方式访问它们。

这是setuptools 支持的行为吗?我应该使用 paver 或 distutils2 还是 Distribute 或其他什么?(基本的 distutils 不是一个选项;我这样做的全部原因是启用需求跟踪)我应该如何将这些文件的内容读入 python 脚本?

0 投票
3 回答
2363 浏览

python - 我可以在没有 /usr/local 等权限的情况下使用 setuptools

我想使用一些包(即 IPython 或zdaemon),但我在一个系统(我的大学)上执行此操作,该系统不授予我对 /usr/local、/usr/bin 或所有这些目录的权限。有办法解决吗?

0 投票
1 回答
518 浏览

python - 让 Python 包以不同的名称自行安装

我正在开发一个名为garlicsim. (网站。)该软件包适用于 Python 2.X,但我还在另一个名为garlicsim_py3.(1)的分支上提供 Python 3 支持

所以这两个包在 PyPI 上并存,Python 3 用户安装garlicsim_py3,Python 2 用户安装garlicsim

问题是:当第三方模块想要使用garlicsim时,他们应该有一个包名来引用,而不是两个。当然,他们可以这样做:

但我不希望这些模块的开发人员这样做。

有没有办法garlicsim_py3将自己安装在别名下garlicsim?我想要的是让 Python 3 用户能够始终import garlicsim将模块引用为garlicsim,但它确实会是garlicsim_py3

我知道Distribute项目会做这样的事情:他们制作它以便您可以导入setuptools并将其重定向到他们的代码中。我不知道他们是怎么做到的。

有任何想法吗?


(1) 我已经决定在一个分支上而不是在同一个代码库中支持 Python 3;对我来说,代码库是干净的很重要,我真的不想引入兼容性黑客。

0 投票
1 回答
81 浏览

python - 我可以在设置工具中为依赖项设置环境变量吗?

是否可以设置setup.py包文件中设置的依赖项使用的环境变量?

具体来说; 该lxml包是我的一个包的依赖项。为了帮助简化部署,我想在我的包的 setup.py 文件中设置STATIC_DEPS=true一些 CFLAGS lxml,这样我们的用户就可以easy_install my-package没有任何安装问题。

0 投票
4 回答
4487 浏览

python - 用于 Windows 的二进制 python 包(模块)的无人值守安装

是否没有明智的方法来执行 Windows 二进制 python 包的脚本安装?不幸的是,像 pywin32 和 py2exe 这样的几个基本 Windows python 包似乎只能作为 EXE 而不是 MSI 提供(据我所知,只有后者是可编写脚本的)。Easy_install/pip 似乎也没有用,因为它们显然只能找到源包,然后尝试在本地编译,这显然不能令人满意。

我错过了什么吗?

0 投票
2 回答
966 浏览

python - 使用 setuptools 包括 Bash 自动完成

我在PyPI中有几个包,我想在这两个包中都包含自动完成功能。您将如何检查是否应该安装 Bash 自动完成功能(检查/etc/bash_completion,也许?),以及如何使用 setup.py 安装它(最好使用 setuptools)?

0 投票
3 回答
951 浏览

python - 在没有 root 访问权限的服务器上安装 Jinja2

我正在尝试在 Web 服务器上安装 Jinja2。我尝试按照他们的建议运行命令“easy_install Jinja2”,但出现错误:

[Errno 13] 权限被拒绝:'/usr/lib/python2.5/site-packages/test-easy-install-15897.write-test'

我认为由于这是一个权限问题,我用“sudo”尝试了同样的事情。我被要求输入密码并告诉我没有权限。

我尝试使用“python setup.py”安装 Jinja2 并遇到了类似的问题。

我联系了我的网络托管公司(DreamHost,以防万一),他们说我必须为他们的 VPS 服务付费才能获得 root 访问权限。我宁愿在不支付额外费用的情况下安装它。他们说我可能有一些运气将它安装到我的主目录,但他们不会保证任何事情。这里有人知道怎么做吗?直到现在我还没有使用过 Jinja2、easy_install 或 setuptools,所以我对这些东西都不太了解。

0 投票
2 回答
2850 浏览

python - 在 Windows 中安装 Python 包

我最近开始学习 Python,对包的分发和安装方式有些困惑。

我知道安装包的官方方法是distutils:你下载源代码压缩包,解压它,然后运行:python setup.py install,然后模块会自动安装自己

我也知道辅助脚本附带的setuptools 。easy_install它使用鸡蛋进行分发,据我了解,它建立在 distutils 之上并执行与上述相同的操作,此外它还处理所需的任何依赖项,所有这些都从 PyPi 获取

然后还有pip,我仍然不确定它与其他有什么不同。

最后,由于我在 windows 机器上,很多软件包还通过windows 安装程序提供二进制构建,尤其是那些需要编译 C/Fortran 代码的软件包,否则在 windows 上手动编译将是一场噩梦(假设你有 MSVC或具有所有必要库设置的 MinGW/Cygwin 开发环境..尽管如此尝试自己构建 numpy 或 scipy,你会明白的!)

所以有人可以帮我理解这一切,并解释每种方法的区别和优缺点。我想知道每个人如何跟踪包(Windows 注册表、配置文件、..)。特别是,您将如何管理所有第三方库(能够列出已安装的软件包、禁用/卸载等)

0 投票
1 回答
1002 浏览

python - setuptools easyinstall mysql-python-1.2.3

我在这里阅读了关于 setuptools 的一堆线程。很多人似乎不太喜欢它。

但我需要安装 MySQL-python-1.2.3。当我这样做时,我得到了这个错误:

所以看来我需要 setuptools 并且假设它已安装。

在 setuptools python 主页上它说:

Setuptools 将使用匹配的 Python 版本(例如 python2.4)自行安装,并将 easy_install 可执行文件放置在安装 Python 脚本的默认位置(由标准 distutils 配置文件或 Python 安装确定)。

这是否意味着它将取代 python 的任何默认简易安装?

如果是这样,我不想使用它。如果是这样,我可以在没有 setupttools 的情况下安装 MySQL-python-1.2.3 吗?

谢谢