问题标签 [distribute]

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 投票
1 回答
1169 浏览

python - 使用 `setup.py` 安装软件包后运行 `chmod`

假设我有一个包,它在代码中的某处调用可执行文件(例如第三方 c/java 程序)。让我们进一步假设,应用程序足够小/微不足道,可以与包捆绑在一起。例如单个可执行文件 ( cfoo)。

我可以继续,将文件放入以下结构:

并准备setup.py如下:

这将使我能够正确安装软件包。后来,在包代码中我可以这样做:

不幸的是,可执行文件将在没有设置可执行标志的情况下安装。即使原始文件已设置。chmod在脚本末尾添加调用setup.py并不容易,因为需要先找出正确的安装路径。我尝试过,resource_filename但返回了本地文件(如“预安装”)。

如何解决这个问题?也virtualenv考虑到...

0 投票
1 回答
185 浏览

python - Python包的多种安装配置

我正在创建一个本质上有点模块化的 Python 包,我想知道处理多个安装配置的最佳方法是什么?

setup.py一个简单的文档解析器的包如下:

我想提供如下内容:

  • 默认安装
    • python setup.py install或者pip install my_document_parser
    • 安装my_document_parser, some_required_package,misaka
  • 裸机安装
    • 就像是python setup.py install --bare
    • 安装my_document_parsersome_required_package
  • 一种启用其他依赖项的方法
    • 就像是python setup.py install --bare --with-textile
    • 安装my_document_parser, some_required_package,textile

这是我第一次从开发人员的角度来处理 Python 包,所以如果我以错误的方式或其他方式处理事情,我愿意接受任何人提供的任何东西。

谢谢。

0 投票
2 回答
1203 浏览

ios - iOS 企业开发者计划:Apple 如何区分随机客户和员工?

移动运营商需要将使用私有 API 的应用分发到非越狱设备上。

从到目前为止我在各处阅读的内容来看,这是不可能的。

出于好奇:Enterprise Developer Program 保留给仅在公司内部分发并由员工或承包商使用的应用程序,但 Apple 如何确定用户是员工还是随机的 iPhone 用户?

当然,如果客户数量增长到足够大,苹​​果总有一天会注意到,产生怀疑并关闭企业开发者帐户。

但是,假设该应用程序在本地(仅在少数国家)使用,并且没有那么多客户(例如,数万或数十万),Apple 有没有办法找到它?所以,我想知道的是,在设备或应用程序中是否有任何可衡量的东西表明用户是应用程序开发人员的员工。我不信。

谢谢!

0 投票
1 回答
9863 浏览

python - setuptools、distribute 和 pip 如何相互关联?

我一直在通过“Learn Python The Hard Way”(第 2 版)一书自学 Python。在练习 46 中,它告诉我阅读 Pip、Distribute 和其他一些包。

pip 的文档很清楚。它允许我安装/卸载和升级软件包。阅读分发的文档,它基本上似乎在做同样的事情:

轻松下载、构建、安装、升级和卸载 Python 包

点子和分发之间有什么区别,它们如何相互关联?

0 投票
1 回答
17387 浏览

python - 使用 pip 安装 Python 包源 tarball

我试图弄清楚如何构建一个可通过 pip 安装的 Python 源包。我尝试使用http://packages.python.org/an_example_pypi_project/setuptools.html上描述的 setup.py 文件 和指定目录中的一些简单测试文件创建一个测试项目。

dist/an_example_pypi_project-0.0.4.tar.gz在为名为with的项目创建源 tarball 后python setup.py sdist,我尝试将其安装在名为~/TESTwith 的 virtualenv 环境中~/TEST/bin/pip install dist/an_example_pypi_project-0.0.4.tar.gz。虽然 pip 没有抛出任何错误,但它似乎没有安装包:

请注意,我可以使用 easy_install 从 tarball 安装:

我是否忽略了在包中配置某些内容以使其可以使用 pip 安装?我正在使用 Python 2.7.2,分发 0.6.21、virtualenv 1.7 和 pip 1.0.2。

0 投票
3 回答
7719 浏览

python - 安装 Python 时使用 pypy 轻松安装

我安装了PyPy,同时我的系统上仍然有 Python 2.7。

  • 如何安装 PyPy,然后easy_install与 PyPy 一起使用?
  • 区分我想安装到哪里的语法是什么easy_install
  • 我应该设置任何环境变量以方便使用吗?

我在 Windows 上,但这些问题似乎与所有平台都相关......

0 投票
1 回答
261 浏览

python - python包:如何依赖最新版本的单独包

我正在开发一个测试 django 站点的编码,我将其保存在 bitbucket 存储库中,以便能够轻松地将其部署在远程服务器上,并可能与朋友分享开发。我使用 hg 进行版本控制。

该站点依赖于第 3 方应用程序(django-registration),我需要为我的站点进行自定义,因此我分叉了原始应用程序并为其创建了第二个存储库(想法是这样我可以跟上更新原始的,如果我只是将代码粘贴到我的主站点中,加上添加到我自己的自定义代码中,这是不可能的)(您可以查看有关此问题的更多详细信息)

我的问题是,如何在 setup.py 文件中指定要求,以便在安装 django 站点时获得用于 3rd 方应用程序的最新版本的 fork(我使用分发而不是 setuptools,以防产生影响) ?

我试过这个:

但这让我得到了原始树干上最新的命名版本(所以即使是小费版本)

但是,使用 pip 要求文件效果很好:

从我的 fork 中获取最新版本。

有没有办法直接从 setup.py 文件中获得相同的行为,而不必先安装站点的代码,然后运行 ​​pip install -r requirements.txt?

这个问题信息量很大,但似乎建议我应该依赖版本“dev”或第 3 方包,这是行不通的(我想必须有一个特定的版本标记为 dev)

此外,我是包装/分发/设置工具方面的新手,所以不要阻止拼写步骤:)

也许我应该更改我的 3rd 方应用程序分支上的 setup.py 文件,并确保它提到了版本号。一般来说,我很想知道什么是源代码分发,而不是简单地将我的代码放在公共存储库上,在我的情况下什么是二进制分发(一个鸡蛋文件?),以及这是否更实用我在远程部署时/让我的朋友在他的电脑上部署。并且还想知道如何在我的存储库上标记一个版本以供 setup.py 引用它,它只是一个版本控制标记(在我的情况下是 hg)吗?随意评论您认为对入门打包程序很重要的任何细节:)

谢谢!

0 投票
2 回答
8852 浏览

python - 在 Windows 7 上安装 Python 和分发会给出“写入失败...权限被拒绝”

我在 Windows 7 上(我完全承认我不了解它的权限模型。我正在其他选项卡中阅读它。)我的用户是管理员。当我尝试运行“python Distribute_setup.py”时,出现“写入失败...权限被拒绝”错误,然后出现“错误:无法在安装目录中创建或删除文件”。

我刚刚从 python.org 安装了 Python 3.2.2 MSI 安装程序。

即使我在 64 位 Windows 上,我也在安装 32 位 Python,因为我会有一些需要它的依赖项(pyglet,一个OpenGL库。)

我下载了distribute_setup.py 并从命令行运行“pythondistribute_setup.py”。

在这喷出的大量无用文本的中途是一些隐藏的错误消息:

这三行重复了大约二十次,然后:

目录“E:\Program Files (x86)\Python3.2.2\Lib”允许管理员“完全控制”。我的用户是管理员(并且选中的权限复选框都是灰色的——即使我想关闭,我也无法关闭“完全控制”或任何其他权限。)

我推测性地尝试将“完全控制”添加到“用户”组以及“管理员”组。重新运行,我不再收到相同的错误,但它在同一点退出,并带有:

没有“E:\Program Files (x86)\Python3.2.2\Scripts”目录。我创建一个。它归“管理员”所有,并为管理员设置了“完全控制”。我注意到所有其他 Python 文件和目录都归“SYSTEM”所有。再次运行给出:

尽管“脚本”目录已授予管理员“完全控制”权限,但我尝试推测性地为用户组添加“完全控制”。重新运行确实会产生一些警告:

但似乎成功完成。

但是,然后运行“easy_install virtualenv”会产生一个用户帐户控制对话框“您要允许来自未知发布者的以下程序对此计算机进行更改吗?” 然后创建一个新的 CMD 窗口,该窗口闪烁并消失得太快而无法看到,并且似乎无法正常工作:virtualenv 尚未安装。

我想阻止 UAC 对话框每次都出现。这很烦人:“easy_install”是我信任的程序,我不应该每次运行它时都需要确认。我能找到的所有阻止 UAC 对话框出现的解决方案都涉及为可执行文件创建一个神奇的可双击快捷方式。我还没有找到任何命令行应用程序。

我还想阻止 easy_install 在新的 cmd 窗口中启动。这使得无法看到输出。这个问题似乎与 UAC 对话框无关,因为全局关闭 UAC 意味着 easy_install 将在没有对话框的情况下运行,但它仍然在新窗口中运行。

这里发生了什么?我究竟做错了什么?

0 投票
1 回答
5717 浏览

zlib - 不能不安装分布式,zlib

一开始,我只想用python3.2安装feedparser,而它需要Distribute。当我安装分发时

我有

然后我下载了zlib并安装了它

安装后,尝试安装分布式,我得到了同样的错误。

0 投票
1 回答
145 浏览

python - 类似于 python 鸡蛋的“gem server”(例如“pip server”)

我需要一些东西来获取我所有已安装的鸡蛋(很可能使用 pip),并且就像gem server运行一个本地服务器一样,该服务器显示那些已安装软件包的文档(如果有的话)。

这在一般情况下可能很难完成,因为有不同的方法来记录 python 的鸡蛋。我想要一些东西:

  • 使用 setuptools/distribute 提取有关包的文档信息。
  • 与狮身人面像集成。
  • 默认检查包的模块(再次通过 setuptools 获得)。

最好的问候,曼努埃尔。