无法安装mitmproxy:
我在一台运行Ubuntu 14.04的电脑上尝试安装mitmproxy,但遇到了错误。我在网上找到了一些安装方法,使用了以下代码:
sudo install pip mitmproxy
我安装了python,现在当我运行命令时,一切正常,直到出现这个问题:
Command python.py egg_info failed with error code 1 in /tmp/pip_build_root/cryptography
我尝试更新python,但问题依旧。
我具体是这样安装python的:
sudo apt-get install python-pyasn1 python-flask python-urwid
到底出了什么问题???
更新
这是我的 pip.log
4 个回答
在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。比如,有人可能在使用一个特定的库时,发现它的某些功能没有按照预期工作。这种情况下,通常需要检查代码,看看是不是哪里出了问题。
有时候,问题可能出在我们对这个库的理解上,或者是我们没有正确使用它的功能。为了找到解决办法,我们可以查看这个库的文档,或者在网上搜索相关的讨论和解决方案。
如果自己解决不了,也可以向社区求助,比如在StackOverflow上提问,描述清楚遇到的问题和自己尝试过的解决方法,这样其他人才能更好地帮助你。
总之,遇到问题时,不要慌张,先冷静下来,仔细检查代码和使用的工具,通常都能找到解决的办法。
$ pip uninstall mitmproxy netlib
$ sudo apt-get install -y build-essential libssl-dev libffi-dev python-dev python-pip libxml2-dev libxslt-dev git
$ sudo pip install git+https://github.com/mitmproxy/netlib.git@master
sudo pip install git+https://github.com/mitmproxy/mitmproxy.git@master
$ sudo python #
>>> from netlib import certffi
>>> exit()
运行这两个命令对我来说有效(Ubuntu 14.04)
sudo apt-get install python-pip python-dev libffi-dev libssl-dev libxml2-dev libxslt1-dev libjpeg8-dev zlib1g-dev
sudo pip install mitmproxy
补充说明:在你能使用“mitmproxy -p port_number”之前,需要先运行这个命令,因为如果不这样做会出现错误:“错误:mitmproxy需要一个UTF控制台环境。”
export LC_ALL=en_US.UTF-8
补充说明2:安装完成后,你需要先生成证书,然后把它传到你的设备上,再手动设置代理,输入你电脑的IP地址和你将要运行mitmproxy服务器的端口。使用下面的命令来生成证书:
sudo apt-get install libnss3-tools
certutil -d sql:$HOME/.pki/nssdb -A -t C -n mitmproxy -i ~/.mitmproxy/mitmproxy-ca-cert.pem
你也可以通过GitHub来安装库:
按照这个顺序操作:
- 先安装netlib:
(sudo) pip install git+https://github.com/mitmproxy/netlib.git
- 然后安装mitmproxy:
(sudo) pip install git+https://github.com/mitmproxy/mitmproxy.git
这样做会安装所有需要的库,并给你提供最新版本的mitmproxy。
根据你从pip得到的日志来看,问题在于你的系统没有安装libffi的开发库。你可以通过以下命令来解决这个问题:
$ sudo apt-get install libffi-dev
然后再试着安装一次。
在你的错误日志中,有一句话很关键:
在pkg-config的搜索路径中找不到libffi这个包。
如果pkg-config
找不到某个库,说明你需要用来开发这个库的文件缺失了。在Ubuntu或Debian系统上,这通常意味着你需要安装一个名字里带有这个库名并且后面加上-dev
的包。