首先虚拟环境是什么?这个自己百度去
虚拟环境能干嘛? 这个我来回答你, 比如我自己本地写了一个Django项目,用的Django1.10版本,而我再github上看到了一个很好的项目, 用的Django2.0版本,这时该怎么做了?虚拟环境就派上用场了。
可参考此链接
https://tecadmin.net/install-python-3-7-on-centos/
这个是Python安装包的官方文件路径, 需要那个版本的Python就下那个版本,不同版本,安装方法通用。
此方法也可以多版本共存,可以直接这样区分。
>python3.6
>pip3.6
>python3.7
>pip3.7
不建议修改软连接为python,因为开发的时候一般都会使用虚拟环境,在激活虚拟环境的情况下直接使用python就行
https://www.python.org/ftp/python/
比如我安装Python3.6.5 就下载此版本的包,可按自己需求自己安装。
https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
# 不要乱使用yum update命令关于 yum update 的用法和简介
# https://www.cnblogs.com/sparkbj/p/6146092.html
# 安装依赖环境包
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel
# yum install gcc openssl-devel bzip2-devel libffi-devel
# 好接下来我们下载安装包 源码安装(PS:Liux通用,wget命令需要安装自行搜索如何安装)
mkdir /home/temp && cd /home/temp # 非必要步骤 创建一个存放临时文件夹
wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
# 解压
tar -zxvf Python-3.6.5.tgz
# 进入Python3.6.5解压完后的目录下
cd Python-3.6.5
# yum/ap-get install sqlite-devel # 这个是解决后面No module named ‘_sqlite3’问题
# 编译安装 熟练的话可以使用&& 把以下三条命令连用
# ./configure --with-ssl # 如果编译安装失败,可能是要安装C环境GCC 安装问题,考虑重装一遍
# 编译
./configure --enable-optimizations
# enable-optimizations 参数说明https://stackoverflow.com/questions/41405728/what-does-enable-optimizations-do-while-compiling-python
# 弃用 sudo make install
sudo make altinstall
#make install 和 make altinstall的区别 https://stackoverflow.com/questions/16018463/difference-in-details-between-make-install-and-make-altinstall
# 输入python3.6 测试是否成功
python3.6
# 输入pip3.6 测试pip 是否成功
pip3.6
# cenots一类的系统我记得要加软连接之类的, 我用的ubuntu系统上一步就可以用了,所以我也没试
这个方法二大概率是不行的,建议直接参考方法一
首先更新软件包
centos类系统 记得用 yum 替换 apt-get
sudo apt-get update
安装Python3 # 我这安装的Python3.6 安装好后终端输入Python3 能否进入
sudo apt-get install python3.6 # centos apt-get改成yum安装
python3 # 输入python3 看是否进入交互环境
# 如果安装好,却不能进入交互环境
# 就需要建立软连接 类似快捷方式 (非必须步骤,有的时候自动给你创建了快捷方式)
find / -name *python3* # 找到安装执行路径
ln -s /usr/local/python/python3/bin/python3 /usr/bin/python3
关于apt-get 问题: Unmet dependencies. Try ‘apt-get -f install’ with no packages (or specify a solution)
解决方式: https://askubuntu.com/questions/833807/unmet-dependencies-try-apt-get-f-install-with-no-packages-or-specify-a-solu
安装pip3 # pip3 list 试试看能不能看到依赖包
sudo apt-get install python3-pip
# 如果不能安装试下以下安装方式 2019/03 更新
# centos类系统启用EPEL仓库 yum --enablerepo=extras install epel-release
# sudo apt-get install python36-setuptools
# sudo easy_install pip3 # 可以参照以下内容 网站打开慢打不开 查看我之前转载博客
# sudo easy_install-3.6 pip # 上面安装不上 用这种
https://stackoverflow.com/questions/32618686/how-to-install-pip-in-centos-7
# https://pypi.org/simple/pip/ # pip安装包的官方路径 最后实在不行可以考虑 手动安装
# 强制重新安装pip
python3 -m pip install --upgrade --force-reinstall pip
ps:上面不能直接安装的时候可以源码安装(2018/10月更新博客内容)
2019年2月更新
比较流行的还有一种用法就是用 requests作者 kennethreitz 的 pipenv
参考《Flask Web开发实战》作者李辉对pipenv的介绍
https://zhuanlan.zhihu.com/p/37581807
# 安装pipenv 无论pip版本都可以安装,通用
pip install pipenv
# 进入你的项目下 安装pipenv虚拟环境 选择python版本
cd /you_project_path # pipenv 是以项目区分,务必要进入你的项目目录下在操作
pipenv install --python 3.6 # 注意 --python空格3.6
# 激活虚拟环境 同时会打印 `虚拟环境安装目录`
pipenv shell
# 我个人都是直接pipenv 和 自带pip结合着使用,因为pipenv 实测安装还是其他太慢
# 然后我就直接用pip
# 服务器部署一般会用绝对路径, 在输入pipenv shell时会输出 `虚拟环境安装目录`
# 不激活虚拟环境运行程序
pipenv run python demo.py
# 安装依赖包 (卸载uninstall 都和pip类似) 缺点会发现pipenv 安装特别慢。
pipenv install demo_package
安装虚拟环境 建议使用pipenv
sudo pip3 install virtualenv
建立虚拟环境的存放文件夹
mkdir ~/.virtualenvs
cd ~/.virtualenvs # 进入那个目录
virtualenv spider_py3 -ppython3 # 创建虚拟环境 spider_py3 是虚拟环境名字, -p指定Python版本(默认Python2)
source spider_py3/bin/activate # 进入虚拟环境 OK了
deactivate # 退出 一般到这就可以了
# 话说我一般到这就够了 下面那个管理虚拟环境的工具 我在服务器上也用不着,本地开发pycharm就替我管理了
#如果提示 command not found
sudo find / -name virtualenv # 直接这样搜索这个路径
#再次创建
/your_path/virtualenv spider_py3 -ppython3
有个管理工具特别方便
sudo pip3 install virtualenwrapper
修改配置文件
sudo vim ~/.bashrc
输入大写G进入最后一行 # 不会vi基本命令的自行百度
添加以下数据
export WORK_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh #注意单词不要拼写错误
启用生效
source ~/.bashrc
查看和切换虚拟环境
workon # 单输入这个回车 查看所有的虚拟环境
切换虚拟环境
workon 环境名 # 切换
创建虚拟环境 tip: 终端下输入mkvir 再按Tab自动补齐 后面的命令一样
mkvirtualenv 环境名 -ppython3 # 指定虚拟环境名 -p指的Python版本
退出虚拟环境
deactivate
差不多就这些, 所有创建的虚拟环境都在~./virtualenvs 这个文件夹下,
这个文件名字和目录可以自定义。
写这个的目的是刚刚要配置一个新的服务器,梳理以下思路,网上查了好几篇文章才成功
希望看到我这一篇文章就足够了,希望能帮到你。