为什么 easy_install 适用于某些 Windows 二进制文件?

2024-03-13

背景

Windows 默认情况下不包含编译器,安装编译器(或许还需要配置 Python 来使用它)是一项足够复杂的任务,许多开发人员都避免这样做。为此,许多具有二进制依赖项的包可以作为包含二进制文件的预编译 Windows 可执行文件提供。举个例子,有psycopg http://stickpeople.com/projects/python/win-psycopg/.

可执行文件是一个安装程序。执行时,它提供一个图形界面,通过注册表查找已安装的 Python 版本,并在全局 Python 安装中安装 Python 库和包含的二进制依赖项。

然而,这并不总是可取的。特别是在使用 virtualenv 时,开发人员不想全局安装该库。他们希望将库安装在虚拟环境中。由于此环境未在注册表中表示,因此图形安装程序无法找到它。幸运的是,可以使用类似于以下内容的命令将库安装到虚拟环境中:

C:\> C:\virtualenv\Scripts\activate.bat
(virtualenv) C:\> easy_install psycopg2-2.5.win32-py2.7-pg9.2.4-release.exe

请注意,无论 easy_install 是来自 setuptools 还是分发,这都有效。

实际问题

为什么这个命令有效?允许 easy_install 处理它的 exe 是什么?

我注意到该 exe 似乎是某种 zip 文件。 7-Zip能够打开它进行浏览,并且easy_install可以处理的这些exe文件似乎具有共同的文件结构。他们有一个名为 PLATLIB 的顶级目录,其中包含 Egg-info 文件或文件夹以及另一个(可能超过 1?)文件夹。这些exe只是Python鸡蛋,周围包裹着某种可执行文件吗?我怎样才能自己制作一个? (或者换句话说,是否有某种标准方法可以产生这样的前任?)

Edit

额外问题:为什么doesn'tpip 可以处理这些文件吗?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 easy_install 适用于某些 Windows 二进制文件? 的相关文章

随机推荐

  • Android webview 无法正确渲染 html 内容

    我完全不知道这是否是正确的方法 但只要 webview 正在加载 我就会显示启动屏幕 当 webview 加载完成时 我会显示 webview 但是 webview 的 HTML 内容没有正确渲染 它可以在我的 Android 手机以及我拥
  • 获得广告响应。错误代码:1

    我正在设备中测试我的应用程序 它在调试 logcat 中显示错误 这个错误是什么以及如何解决这个问题 错误是 There was a problem getting an ad response ErrorCode 1 我的xml代码是
  • xlsread() 认为我的 1 行 CSV 有 1048576 行

    我想用 temp xlsread 1 csv A A 获取单行 CSV 文件的第一列1 csv 1 csv仅包含一行 5B0E8795E18013D0FBC33558F0512832 3 7 1 练习 榨汁机 榨汁机 真 假 2347 0
  • 将 pandas DataFrame 制作为 dict 并 dropna

    我有一些带有 NaN 的 pandas DataFrame 像这样 import pandas as pd import numpy as np raw data A 1 2 2 3 3 4 B 1 np nan 2 44 3 np nan
  • 如何在旋转动画后在 ImageView 上设置 OnClickListener

    我想在使用 addView 方法动态创建 ImageView 并在我的应用程序中旋转它们后 在 ImageView 上设置 OnClickListener 但是当我在屏幕上按下 ImageView 时 onClick 方法无法正常工作 如果
  • XPATH——由查询定义的结果顺序

    我有一个像这样的 xpath 表达式 element attr a element attr b element attr c 这是一个 或 语句 那么 我是否可以创建一个表达式来保证结果按照查询中的顺序出现 即使元素在文档中以不同的顺序出
  • Django(鼻子)测试加速,reuse_db 不起作用

    我正在使用 django nose 在 django 1 4 中运行单元测试 TEST RUNNER django nose NoseTestSuiteRunner 创建数据库需要很长时间 所以我发现把它放在settings py中 os
  • Symfony2 - 为什么超级管理员也需要投票

    我注意到 即使是超级管理员用户也会征求我的选民的意见 它是否按预期工作 如果是的话 我认为SuperAdmin的哲学是他们系统地拥有所有权利 这样我们就不必一一授予他们每个权限 既然如此 为什么不向所有选民授予访问权呢 我是否总是必须把 i
  • 加载程序集后执行的 C# 方法

    我编写了一些 C 类库 我想使用 Ninject 为我的类提供依赖注入 类库是否可以声明一些在每次加载类库时执行的代码 方法 我需要它来定义 Ninject 的绑定 听起来您正在寻找 C 的 DllMain 的等效项 在 C 中没有办法做到
  • 如何将多个参数作为单个向量传递给函数?

    我使用六个参数创建了以下函数 nDone lt function under strike ttoe vol rf dy pnorm log under strike rf dy vol 2 2 ttoe vol ttoe 0 5 nDon
  • method="post" enctype="text/plain" 不兼容?

    当我使用
  • 使用yarn berry时将.yarn目录提交到git

    在纱线 浆果 的下一个版本中manual https yarnpkg com getting started install指出应该只提交创建的名为 yarn 但是如果您对yarn使用多版本设置 则该目录包含该文件releases yarn
  • 根据ace编辑器实例中字符的长度设置宽度

    我正在开发一个使用 contenteditable 属性创建自定义富文本编辑器的项目 在这个富文本编辑器中 我想插入单行 ace 编辑器实例 其宽度将根据其中的字符数设置 为了将 ace 编辑器实例限制为单行 我处理了 Enter 键事件
  • 如何使用通配符投影别名?

    一旦我做了一个join A by id B by id 我得到一个带有字段的别名A f B f 有没有办法只将其投影到A fields C join A by id B by id D filter C by B n lt 1000 E f
  • 在大型文本文件中搜索字符串 - 分析 python 中的各种方法

    这个问题已经被问过很多次了 花了一些时间阅读答案后 我做了一些快速分析来尝试前面提到的各种方法 我有一个600 MB文件与600万字符串行 DMOZ 项目的类别路径 每行的条目都是唯一的 我想要load文件once 不停寻找用于数据中的匹配
  • 如何撤消 SQL Server UPDATE 查询?

    在 SQL Server Management Studio 中 我执行了以下查询 不幸的是 我忘记取消注释WHERE clause 更新了 1647 行 而不是 4 行 如何撤消最后一条语句 Unfortunately I ve only
  • 完成活动后如何取下键盘?

    我有一个用户在其中输入的活动 然后单击 确定 按钮 完成后 活动关闭并返回到旧活动 但软键盘仍然在屏幕上 我试过了android windowSoftInputMode stateHidden and getWindow setSoftIn
  • 阻止直接 URL 访问返回部分视图的控制器?

    如果有一个名为 UsersController 的控制器 其操作如下 public ActionResult ActiveUsers IQueryable
  • 如何获取数组值作为curl php请求的返回值?

    由于我是 PHP 新手 所以我很难使用 PHP 问题是我没有从curl 请求中获得任何返回值 我正在访问一个远程文件 其中包含以下代码 测试 php test gt getCall public function getCall var a
  • 为什么 easy_install 适用于某些 Windows 二进制文件?

    背景 Windows 默认情况下不包含编译器 安装编译器 或许还需要配置 Python 来使用它 是一项足够复杂的任务 许多开发人员都避免这样做 为此 许多具有二进制依赖项的包可以作为包含二进制文件的预编译 Windows 可执行文件提供