【问题标题】:pip install setup.py missing when attemping install of pyodbc wheel file尝试安装 pyodbc 轮文件时缺少 pip install setup.py
【发布时间】:2018-02-20 16:25:07
【问题描述】:

我正在尝试将 pyodbc 包从 4.0.16 更新到 4.0.22。

我正在使用的机器上没有互联网访问权限,因此下载了文件并通过网络复制到。

运行

pip install S:\Temp\PMCD\pyodbc-4.0.22-py27hc56fc5f_0(1).tar.bz2

导致以下错误:

Processing s:\temp\pmcd\pyodbc-4.0.22-py27hc56fc5f_0(1).tar.bz2
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
IOError: [Errno 2] No such file or directory: 'c:\\users\\adm_pa~2\\appdata\\local\\temp\\2\\pip-yf25bd-build\\setup.py'

----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in c:\users\adm_pa~2\appdata\local\temp\2\pip-yf25bd-build\

setuptools 已经更新到 latest(38.5.1) 和 pip 以及 (9.0.1)

我使用 pip 来更新 setuptools 和 pip 本身(通过下载的 whl 文件),所以我认为 pip 不是问题。

我已经成功地将本地机器上的 pyodbc 从 16 升级到 22,所以我不确定 whl 文件发生了什么。

有什么想法吗?

我可以手动解压缩包并将其直接放在站点包中吗?这似乎没有做任何事情。

【问题讨论】:

  • 我很困惑。您谈论安装 .whl 文件,但您的文件是 .tar.bz2。如果您从 here 下载适当的 .whl 文件,您应该能够执行类似 pip install pyodbc-4.0.22-cp27-cp27m-win_amd64.whl 的操作。
  • amd 在这里代表什么?我认为它仅适用于 AMD CPU,但我已经安装了它并且它工作正常。顺便谢谢!你可以给你一个正确的答案,我会把它标记为正确的。

标签: python python-2.7 pip pyodbc


【解决方案1】:

如果您的目标机器没有直接的 Internet 连接,您仍然可以通过以下方式安装 pyodbc

  • 使用另一台机器从PyPI下载适当的*(.whl)文件,
  • 将该文件复制到您的目标计算机(通过 LAN、SneakerNet 等),并且
  • 使用pip install &lt;wheel_file_location&gt;

例如,

pip install C:\__tmp\pyodbc-4.0.22-cp27-cp27m-win_amd64.whl

wheel 文件的命名约定在PEP 491 中进行了描述。

Windows 的 64 位 Wheel 文件被标记为“win_amd64”,因为这是 distutils 的 Windows 版本报告为平台的内容:

>>> from distutils import util
>>> distutils.util.get_platform()
'win-amd64'

【讨论】:

  • 谢谢,我使用的是从 anaconda 网站获得的 tar 文件。完美地工作。 AMD 的事情是一个曲线球。
【解决方案2】:

尝试安装二进制组件。 在windows中安装组件超级烦人。

https://code.google.com/archive/p/pyodbc/downloads

【讨论】:

  • 该下载链接已过时。那里的文件真的旧了。