Установка pip завершается неудачно с FileNotFoundError: setup.py
При запуске 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
Это происходит для Пикаиро, глоток.
$ 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:
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.
Просто убедитесь, что вы используете Python из вашего virtualenv, и передайте правильные опции configure
команда (--prefix=$VIRTUAL_ENV
должно быть достаточно, но не цитируйте меня по этому поводу; Вы также можете установить PYTHON
переменная окружения для пути к вашему virtualenv Python или другим вещам).
Другой вариант - использовать альтернативный набор привязок Каира, например cairocffi
, Но это, очевидно, большое изменение, которое может не подходить.