如何强制脚本在其他用户的主文件夹中使用anaconda安装的不同版本的python和模块?

时间:2017-10-18 11:37:34

标签: python-3.x anaconda

问题是服务器版本是python 2.6,我没有管理员权限为我以外的其他用户安装Anaconda(这里是crm_batch)。是否可以利用我的安装? 我试图通过我的anaconda及其软件包由我以外的其他用户运行python脚本。 我在bash脚本中更改了envs变量:

#!/bin/bash
set -o allexport
PATH="/home/129175/anaconda3/bin:$PATH"
export PATH
PYTHONPATH=/home/129175/anaconda3/lib/python3.5/site-package‌​‌s:/home/129175/anac‌​o‌​nda3/lib:/home/12‌​917‌​5/anaconda3:/ho‌​me/12‌​9175/anaconda‌​3/lib64
export PYTHONPATH
PYTHONHOME=/home/129175/anaconda3/lib/python3.5
export PYTHONHOME
set -v
echo $PATH
echo $PYTHONHOME
echo $PYTHONPATH
echo $USER
which python
python /BD/CRM/batch/DCI_ZAIK/python/print.py

这是python脚本:

#!/usr/bin/env python
import encodings
import sys
print(sys.version_info)

最后从bash脚本输出:

+ user=crm_batch
+ sudo -iu crm_batch -- bash /BD/CRM/batch/DCI_ZAIK/bin/shellcode/python_send_mail.sh
echo $PATH
/home/129175/anaconda3/bin:/opt/teradata/client/15.00/tbuild/bin64:/home/129175/anaconda3/bin:/app/oh12c/client_1/bin:/home/crm_batch/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/usr/lib/mit/bin:/usr/lib/mit/sbin
echo $PYTHONHOME
/home/129175/anaconda3/lib/python3.5
echo $PYTHONPATH
/home/129175/anaconda3/lib/python3.5/site-packages:/home/129175/anaconda3/lib:/home/129175/anaconda3:/home/129175/anaconda3/lib64
echo $USER
crm_batch
which python
/home/129175/anaconda3/bin/python
python /BD/CRM/batch/DCI_ZAIK/python/print.py
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'

我希望得到任何帮助。 这里还有一件事要提到,bash脚本是从BMC Control-M执行的。但在我看来,它根本不会影响输出。

彼得

0 个答案:

没有答案