Populus is a smart contract development framework, just like Truffle. So why should we use Populus instead of Truffle? Basically, this is a personal choice. Populus is written with Python and supports unit testing with Python by default. If you use Truffle, you use unit testing with JavaScript by default. This is like choosing web3.py (Python) or web3.js (JavaScript) to build a decentralized application.
To set up Populus, let's observe the following steps:
- Create a virtual environment from scratch:
$ virtualenv -p python3.6 populus-venv
$ source populus-venv/bin/activate
- We install web3, populus, and vyper:
(populus-venv) $ pip install eth-abi==1.2.2
(populus-venv) $ pip install eth-typing==1.1.0
(populus-venv) $ pip install py-evm==0.2.0a33
(populus-venv) $ pip install web3==4.7.2
(populus-venv) $ pip install -e git+https://github.com/ethereum/populus...