This should get you covered (tested with Ubuntu 16.04):
sudo apt-get update -y
# install python3 and dev headers
sudo apt-get install -y python3 python3-dev
# pip is great
sudo apt-get install -y python-pip
# for cryptography (required by twisted[tls])
sudo apt-get install -y libssl-dev libffi-dev
# for lxml
sudo apt-get install -y libxml2-dev libxslt1-dev
sudo pip install virtualenvwrapper
source /usr/local/bin/virtualenvwrapper.sh
# create a Python3 virtualenv
mkvirtualenv -p python3 scrapy.py3
# and install scrapy inside it
(scrapy.py3) ~$ pip install scrapy
Check that you're using Python3:
(scrapy.py3) ~$ scrapy version -v
Scrapy : 1.1.0
lxml : 3.6.0.0
libxml2 : 2.9.3
Twisted : 16.3.0
Python : 3.5.1+ (default, Mar 30 2016, 22:46:26) - [GCC 5.3.1 20160330]
pyOpenSSL : 16.0.0 (OpenSSL 1.0.2g-fips 1 Mar 2016)
Platform : Linux-4.4.0-28-generic-x86_64-with-Ubuntu-16.04-xenial