virtualenv

https://www.jianshu.com/p/8b5536f1ea35
https://www.cnblogs.com/freely/p/8022923.html

一、安装 virtualenv,两个注意点:
a)要在管理员权限下安装(sudo),
b)不要安装在cond环境,在linux、mac系统最好安装在"/usr/local/bin/"路径下,使用系统自带的python2安装,默认安装在此路径

# 安装 virtualenv,
$ sudo pip install virtualenv

二、使用示例,目标是将udf_main.py及其依赖(包括外部包依赖、工程内部资源源码依赖)创建一个虚拟环境,并且运行

目标:在虚拟环境运行udf_main.py ,udf_main.py 依赖多个外部包、以及依赖工程中的utils、conf、data等包

1、在工程目录下 创建test:  mkdir test,创建test目录仅为了测试

2、将文件udf_main.py 和目录utils移动到test中,目的是验证解决udf_main.py依赖utils资源包的问题.  cp -r ../utils .

3、创建虚拟环境  virtualenv udf_library_test

4、添加基础依赖(主要是Python、pip等):source udf_library_test/bin/activate

5、在虚拟环境安装所需要的外部依赖,如pandas :
 	pip install jieba
	pip install coloredlogs
	pip install pyaml
	pip install toml

6、退出虚拟环境 deactivate

7、虚拟环境目录udf_library_test添加 __init__.py 文件:  touch __init__.py ,并将依赖包utils、conf、data等添加到udf_library_test目录:

 cp -r utils udf_library_test/.
 cp -r conf udf_library_test/.
 cp -r data udf_library_test/.
 cp -r model udf_library_test/.
 cp -r output udf_library_test/.

特别注意,对udf_main.py文件需要修改导入util、conf、data等包的路径,比如udf_main.py原来导入utils的路径是 
 from utils.logger import * 
修改修改为 
from udf_library_test.utils.logger import *


8、在test目录下,测试效果:  
echo ‘这是输入参数’|./udf_library_test/bin/python udf_main.py


如果运行正常,说明成功,可以在udf_library_test目录下将其打包,该打包就包含了所有的依赖,可以在任意环境执行

原文地址:https://www.cnblogs.com/ying-chease/p/14822489.html