【发布时间】:2013-09-22 23:58:02
【问题描述】:
当我使用时
os.environ.keys()
在命令行中,我得到的环境变量与在 cgi 脚本中不同。有没有办法通过cgi脚本获取python环境变量?
使用
subprocess.Popen
我没有得到相同的参数。
你能帮帮我吗?
已编辑:
例如在命令行中我的环境参数是
['rvm_version', 'rvm_path', 'LESSOPEN', 'escape_flag', 'SSH_CLIENT',
'LOGNAME', 'USER', 'HOME', 'PATH', 'RDBASE', 'LD_LIBRARY_PATH', 'LANG',
'TERM', 'SHELL', '_first', 'SHLVL', '__array_start', 'G_BROKEN_FILENAMES',
'HISTSIZE', 'LISISTOOLS_PATH', 'GEM_PATH', 'rvm_bin_path', 'rvm_prefix',
'PYTHONPATH', 'IRBRC', 'AUTODOCK_PATH', 'MY_RUBY_HOME', 'BOOST', '_',
'_second', 'SSH_CONNECTION', 'RUBY_VERSION', 'GRANATUM_LICENSE_FILE',
'OLDPWD', 'HOSTNAME', 'HISTCONTROL', 'PWD', 'SSH_TTY', 'MAIL', 'LS_COLORS',
'GEM_HOME', 'MGLTOOLS']
但从我的 cgi 脚本中是:
['HTTP_COOKIE', 'SERVER_SOFTWARE', 'SCRIPT_NAME', 'SERVER_SIGNATURE',
'REQUEST_METHOD', 'SERVER_PROTOCOL', 'QUERY_STRING', 'PATH', 'DUMP_FILE',
'HTTP_ACCEPT_CHARSET', 'HTTP_USER_AGENT', 'HTTP_CONNECTION', 'HTTP_REFERER',
'SERVER_NAME', 'REMOTE_ADDR', 'SERVER_PORT', 'SERVER_ADDR', 'DOCUMENT_ROOT',
'SCRIPT_FILENAME', 'SERVER_ADMIN', 'HTTP_HOST', 'REQUEST_URI', 'HTTP_ACCEPT',
'GATEWAY_INTERFACE', 'REMOTE_PORT', 'HTTP_ACCEPT_LANGUAGE',
'HTTP_ACCEPT_ENCODING']
我想要第一组环境变量(命令行)通过cgi-script。
当我在 cgi 脚本中导入时
from rdkit import Chem
我得到了错误
/home/galaxy/working/RDKit/rdkit/Chem/__init__.py in ()
16
17 """
18 from rdkit import rdBase
<type 'exceptions.ImportError'>: libRDGeneral.so.1: cannot open shared object
file: No such file or directory
args = ('libRDGeneral.so.1: cannot open shared object file: No such file or
directory',)
message = 'libRDGeneral.so.1: cannot open shared object file: No such file
or directory'
但在命令行中我没有收到任何错误。
PYTHONPATH 包含
'/home/galaxy/working:/home/galaxy/working/RDKit:/home/galaxy/working/mgltools_x86_64Linux2_1.5.4/MGLToolsPckgs:/home/galaxy/working/mgltools_x86_64Linux2_1.5.4/MGLToolsPckgs'
我更新 sys.path 使用
sys.path.append('/home/galaxy/working')
sys.path.append('/home/galaxy/working/RDKit')
sys.path.append('/home/galaxy/working/mgltools_x86_64Linux2_1.5.4/
MGLToolsPckgs')
sys.path.append('/home/galaxy/working/mgltools_x86_64Linux2_1.5.4/
MGLToolsPckgs')
【问题讨论】:
-
你的命令行环境和CGI运行的环境不一样。你想通过环境收集什么信息?
-
你在每个环境中得到不同的变量和值仅仅是因为它们是不同的环境......
-
有没有办法通过cgi脚本获取命令行环境变量?
-
您的
PYTHONPATH环境变量是什么样的?rdkit是从哪里导入的? -
我在问题的末尾添加了它。
标签: python cgi environment-variables rdkit