文章内容

2018/9/14 14:56:16,作 者: 黄兵

linux服务运行python 虚拟环境程序


上篇文章介绍了如何在linux服务上面不间断运行python程序,不知道怎么如果操作的朋友可以看看这篇文章:Linux服务运行python

但是这篇文章没有使用python的虚拟环境,python为什么需要虚拟环境?python使用虚拟环境有什么好处?下面我一一回答:


python为什么需要虚拟环境?

python使用虚拟环境是python解释器的一个私有副本,在这个环境中你可以安装私有包,而且不会影响系统中安装的全局python解释器。


python使用虚拟环境有什么好处?

虚拟环境非常有用,可以在系统的python解释其中避免包的混乱和版本冲突。为每个程序单独创建虚拟环境可以保证程序只能访问虚拟环境中的包,从而保持全局解释器的干净整洁,使其只作为创建(更多)虚拟环境的源。使用虚拟环境还有个好处,就是不需要管理员权限。

上面说了这么多,就是为了说明在linux中跑python程序尽量使用虚拟环境来运行。


linux服务运行如何运行python虚拟环境程序的程序呢?具体操作如下:

1、首先检查是否安装虚拟环境:

virtualenv --version

如果结果显示错误,需要安装这个工具,如果安装会有如下显示:


2、如果没有安装虚拟环境,需要安装:

sudo apt-get install python-virtualenv

创建程序目录,安装目录内的虚拟环境:

mkdir material_app
cd material_app
# 创建目录下面的虚拟环境 
virtualenv venv -p /usr/bin/python3

激活虚拟环境:

. venv/bin/activate

3、修改上篇文章创建的linux服务文件:

[Unit]
Description=Web Scraping Service
After=multi-user.target
 
[Service]
Type=idle
# 虚拟环境目录 
Environment="PATH=/root/Web_Scraping/venv/bin"
WorkingDirectory=/root/Web_Scraping
# 使用虚拟环境运行程序  
ExecStart=/root/Web_Scraping/venv/bin/python3.6 /root/Web_Scraping/get_jianshu_scraping.py
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target

修改完成,运行linux服务看看,已经成功运行,截图如下:



参考资料:

《Flask Web开发 基于Python的Web应用程序开发实战》人民邮电出版社,2015.1


黄兵个人博客原创。

转载请注明出处:黄兵个人博客 - linux服务运行python 虚拟环境程序


分享到:

发表评论

评论列表

user-ico

afnm on 回复 有用(0

z

游客hOsF on 2018-09-18 09:25:11

博主回复:你想说什么?系统无法理解