pip 安装失败并出现 FileNotFoundError: setup.py

Posted

技术标签:

【中文标题】pip 安装失败并出现 FileNotFoundError: setup.py【英文标题】:pip install fails with FileNotFoundError: setup.py 【发布时间】:2013-10-08 07:16:05 【问题描述】:

运行 pip install 时,我收到如下错误:

$ pip install pycairo
Downloading/unpacking pycairo
  You are installing a potentially insecure and unverifiable file. Future versions of pip will default to disallowing insecure files.
  Downloading pycairo-1.10.0.tar.bz2 (246kB): 246kB downloaded
  Running setup.py egg_info for package pycairo
    Traceback (most recent call last):
      File "<string>", line 16, in <module>
    FileNotFoundError: [Errno 2] No such file or directory: '/home/naught101/.virtualenvs/virtualenv-3/build/pycairo/setup.py'
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 16, in <module>

FileNotFoundError: [Errno 2] No such file or directory: '/home/naught101/.virtualenvs/virtualenv-3/build/pycairo/setup.py'

----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /home/naught101/.virtualenvs/virtualenv-3/build/pycairo
Storing complete log in /home/naught101/.pip/pip.log

这发生在 pycairo 上,啜饮。

$ pip --version
pip 1.4.1 from /home/naught101/.virtualenvs/virtualenv-3/lib/python3.3/site-packages (python 3.3)

【问题讨论】:

【参考方案1】:

pycairo 不是由 setuptools 构建的,因此无法由 pip 安装。

正如安装文档所说:

Install Procedure
-----------------
$ ./waf --help     # shows available waf options
$ ./waf configure  # use --prefix and --libdir if necessary
                   # --prefix=/usr --libdir=/usr/lib64  for Fedora 64-bit
$ ./waf build
$ ./waf install

Use
$ python3 ./waf ...
if you have python2 and python3 installed, and the default is python 2.

您仍然可以使用pip 来获取它:

$ pip install --download=. pycairo
Downloading/unpacking pycairo
  Downloading pycairo-1.10.0.tar.bz2 (246kB): 246kB downloaded
$ tar xf pycairo-1.10.0.tar.bz2
$ cd pycairo-1.10.0
$ python ./waf etc.

只需确保您使用 virtualenv 中的 Python,并将正确的选项传递给 configure 命令(--prefix=$VIRTUAL_ENV 就足够了,但不要引用我的话;您可能还必须设置 @ 987654330@ 环境变量指向您的 virtualenv Python 或其他东西的路径。


另一种选择是使用一组备用的 Cairo 绑定,例如 cairocffi。但这显然是一个很大的变化,可能不太合适。

【讨论】:

我确实试过了,但我得到了File "/tmp/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Tools/python.py", line 131, in check_python_headers if dct[x]: KeyError: 'MACOSX_DEPLOYMENT_TARGET',并且 waf 配置失败。我在 kubuntu 上。 如果您希望任何人为您调试它(连同您传递给configure 行的任何参数),因为仅从最后一行就无法猜测可能出了什么问题(当然,由于某种原因,waf 错误地推断出您使用的是 Mac)。跨度> 公平电话:***.com/questions/19128874/…

以上是关于pip 安装失败并出现 FileNotFoundError: setup.py的主要内容,如果未能解决你的问题,请参考以下文章

使用 pip 在 MacOS 上安装 Glumpy 失败

pip install tesserocr 失败并出现错误“tesserocr 构建***失败”

win10 python pip install 安装失败 出现红字

pip 在获取 https://pypi.python 时失败并出现 HTTP 错误 503

pip install enable 失败

python2上的pip安装失败