Unverified Commit ca5e841a by Peter Eacmen Committed by GitHub

Update INSTALL.md based on modern realities with python3

parent da84a44e
Before You Start Before You Start
================ ================
Binwalk supports Python 2.7 - 3.x. Although most systems have Python2.7 set as their default Python interpreter, binwalk does run faster in Python3. Installation procedures for both are provided below. Binwalk supports Python 3.6+.
Installation Installation
============ ============
...@@ -9,11 +9,6 @@ Installation ...@@ -9,11 +9,6 @@ Installation
Installation follows the typical Python installation procedure: Installation follows the typical Python installation procedure:
```bash ```bash
# Python2.7
$ sudo python setup.py install
```
```bash
# Python3.x # Python3.x
$ sudo python3 setup.py install $ sudo python3 setup.py install
``` ```
...@@ -25,40 +20,21 @@ Dependencies ...@@ -25,40 +20,21 @@ Dependencies
Besides a Python interpreter, there are no installation dependencies for binwalk. All dependencies are optional run-time dependencies, and unless otherwise specified, are available from most Linux package managers. Besides a Python interpreter, there are no installation dependencies for binwalk. All dependencies are optional run-time dependencies, and unless otherwise specified, are available from most Linux package managers.
Although all binwalk run-time dependencies are optional, the `python-lzma` module is highly recommended for improving the reliability of signature scans. This module is included by default in Python3, but must be installed separately for Python2.7:
```bash
$ sudo apt-get install python-lzma
```
Binwalk uses the `nosetest` library for tests and `coverage` for test-coverage: Binwalk uses the `nosetest` library for tests and `coverage` for test-coverage:
```bash ```bash
$ sudo pip install nose coverage $ sudo pip install nose coverage
``` ```
Binwalk uses the `pycrypto` library to decrypt some known encrypted firmware images: Binwalk uses the `pycryptodome` (`pycrypto`-compatible module that is still maintained) library to decrypt some known encrypted firmware images:
```bash ```bash
# Python2.7 $ sudo pip install pycryptodome
$ sudo apt-get install python-crypto
```
```bash
# Python3.x
$ sudo apt-get install python3-crypto
``` ```
Binwalk uses [pyqtgraph](http://www.pyqtgraph.org) to generate graphs and visualizations, which requires the following: Binwalk uses [pyqtgraph](http://www.pyqtgraph.org) to generate graphs and visualizations, which requires the following (exact dependencies may vary based on your distro refer to `deps.sh` for more details):
```bash ```bash
# Python2.7
$ sudo apt-get install libqt4-opengl python-opengl python-qt4 python-qt4-gl python-numpy python-scipy python-pip
$ sudo pip install pyqtgraph
```
```bash
# Python3.x
$ sudo apt-get install libqt4-opengl python3-opengl python3-pyqt4 python3-pyqt4.qtopengl python3-numpy python3-scipy python3-pip $ sudo apt-get install libqt4-opengl python3-opengl python3-pyqt4 python3-pyqt4.qtopengl python3-numpy python3-scipy python3-pip
$ sudo pip3 install pyqtgraph $ sudo pip3 install pyqtgraph
``` ```
...@@ -66,17 +42,9 @@ $ sudo pip3 install pyqtgraph ...@@ -66,17 +42,9 @@ $ sudo pip3 install pyqtgraph
Binwalk's `--disasm` option requires the [Capstone](http://www.capstone-engine.org/) disassembly framework and its corresponding Python bindings: Binwalk's `--disasm` option requires the [Capstone](http://www.capstone-engine.org/) disassembly framework and its corresponding Python bindings:
```bash ```bash
# Python2.7
$ sudo apt-get install python-pip
$ sudo pip install capstone $ sudo pip install capstone
``` ```
```bash
# Python3.x
$ sudo apt-get install python3-pip
$ sudo pip3 install capstone
```
Binwalk relies on multiple external utilties in order to automatically extract/decompress files and data: Binwalk relies on multiple external utilties in order to automatically extract/decompress files and data:
```bash ```bash
...@@ -145,11 +113,6 @@ Uninstalling Binwalk ...@@ -145,11 +113,6 @@ Uninstalling Binwalk
If binwalk has been installed to a standard system location (e.g., via `setup.py install`), it can be removed by running: If binwalk has been installed to a standard system location (e.g., via `setup.py install`), it can be removed by running:
```bash ```bash
# Python2.7
$ sudo python setup.py uninstall
```
```bash
# Python3 # Python3
$ sudo python3 setup.py uninstall $ sudo python3 setup.py uninstall
``` ```
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment