'pyconfig.h missing during "pip install cryptography"
I wanna set up scrapy cluster follow this link scrapy-cluster,Everything is ok before I run this command:
pip install -r requirements.txt
The requirements.txt looks like:
cffi==1.2.1
characteristic==14.3.0
ConcurrentLogHandler>=0.9.1
cryptography==0.9.1
...
I guess the above command means to install packages in requirements.txt.But I don't want it to specify the version,So I change it to this:
cat requirements.txt | while read line; do pip install ${line%%[>=]*} --user;done
When install cryptography,it gives me the error:
build/temp.linux-x86_64-2.7/_openssl.c:12:24:fatal error:pyconfig.h:No such file or directory
#include <pyconfig.h>
I don't know how to solved this , I have tried a lot of methods ,but failed. my system is centos 7, and the version of python is 2.7.5(default). Besides, Is there any other scrapy frame which is appliable for a large number of urls . Thanks in advance
Solution 1:[1]
For Ubuntu, python2
apt-get install python-dev
For Ubuntu, python3
apt-get install python3-dev
Solution 2:[2]
I have solved it by myself. for the default python of centos, there is only a file named pyconfg-64.h in usr/include/python2.7/,So run the command
yum install python-devel
Then it works.
Solution 3:[3]
for python3.6,
apt-get install python3.6-dev
and
apt-get install libssl-dev libffi-dev
Solution 4:[4]
i use python 2 on ubuntu and got the same problem when installing cryptography. after i run this command
apt-get install python-dev libssl-dev libffi-dev
then it works.
Solution 5:[5]
For Python 3.7 on Debian, the following works for me.
apt-get install python3.7-dev
and
apt-get install libssl-dev
You may also need:
apt-get install libffi-dev
Solution 6:[6]
On a Debian based distro (AntiX distro), together with apt-get install python3-dev
, I also installed rust
, to complete successfully the pip3 install cryptography
command. So, I gave:
$ sudo apt-get install build-essential curl python3-dev libssl-dev libffi-dev
$ sudo curl https://sh.rustup.rs -sSf | sh
When prompted (Figure 1), type 1 and hit Enter on your keyboard. Once it completes, you have to give following commands:
$ source $HOME/.cargo/env
$ source ~/.profile
$ pip3 install cryptography
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | k0nG |
Solution 2 | FancyXun |
Solution 3 | wolfgang |
Solution 4 | David |
Solution 5 | RayLuo |
Solution 6 | Riccardo Volpe |