繁体   English   中英

使用Jupyter笔记本的“ImportError:没有名为site的模块”

[英]“ImportError: No module named site” with Jupyter notebooks

嗨Stack Overflow社区,我在尝试运行命令'jupyter notebook'时遇到了名义错误

我正在运行全新安装的Scientific Linux 7.当打开一个新终端时,我可以在我的浏览器中运行Jupyter笔记本没有问题。 我安装了一个包含自己的Python发行版的软件包,并要求我在使用前运行安装脚本。 在运行安装脚本(对我的环境变量执行各种操作)之后,Jupyter不再工作(给我“No module named site”错误)。

谷歌搜索告诉我尝试取消PYTHONPATH和PYTHONHOME,但这不起作用。 有人可以向我解释环境变量如何改变Python查找包的方式吗? 如果我能澄清某些内容以便更轻松地回答我的查询,请告诉我。

谢谢!

编辑:就我所知,安装脚本并不是很有启发性。 作为参考,我想要使用的包是Fermi Science Tools( http://fermi.gsfc.nasa.gov/ssc/data/analysis/software/ )。 这是设置脚本的代码(一些缩进可能有点偏差,因为我是新手,但请放心脚本运行顺利)

#  Filename: fermi-init.sh
# Description: Bourne-shell flavor initialization for all FERMI software.
#              Runs fermi-setup to generate a sh script tailored
#              specifically to this user and FERMI software
#              installation, then source that.
# Author/Date: James Peachey, HEASARC/GSFC/NASA, May 3, 1999
# Modified for HEADAS December 2001
# Adapted for FERMI September 2008
#
#if [ "x$HEADAS" = x ]; then
#  echo "fermi-init.sh: WARNING -- set HEADAS and source headas-init.sh before sourcing fermi-init.sh!"         
#  echo "Do you wish to proceed with sourcing?"
#   select yn in "Yes" "No"; do
    #       case $yn in
        #           Yes ) 
            #               if [ "x$FERMI_DIR" = x ]; then 
                #                   echo "fermi-init.sh: ERROR -- set FERMI_DIR before sourcing fermi-init.sh"
            #               elif [ -x "$FERMI_DIR/BUILD_DIR/fermi-setup" ]; then
                #                   export FERMI_INST_DIR=${FERMI_DIR}
                #                   fermi_init=`$FERMI_INST_DIR/BUILD_DIR/fermi-setup sh`
                #                   if [ $? -eq 0 -a "x$fermi_init" != x ]; then
                #                   if [ -f "$fermi_init" ]; then
                    #                       . $fermi_init
                #                   fi
                #                   rm -f $fermi_init
                #                   fi
                #                   unset fermi_init
            #               else
                #                   echo "fermi-init.sh: ERROR -- cannot execute $FERMI_DIR/BUILD_DIR/fermi-setup"
            #               fi
            #               break;;
        #           No )
            #               break;;
    #       esac
#done
#else
  if [ "x$FERMI_DIR" = x ]; then 
 echo "fermi-init.sh: ERROR -- set FERMI_DIR before sourcing fermi-init.sh"
  elif [ -x "$FERMI_DIR/BUILD_DIR/fermi-setup" ]; then
  export FERMI_INST_DIR=${FERMI_DIR}
  fermi_init=`$FERMI_INST_DIR/BUILD_DIR/fermi-setup sh`
  if [ $? -eq 0 -a "x$fermi_init" != x ]; then
  if [ -f "$fermi_init" ]; then
      . $fermi_init
  fi
  rm -f $fermi_init
  fi
  unset fermi_init
  else
  echo "fermi-init.sh: ERROR -- cannot execute  $FERMI_DIR/BUILD_DIR/fermi-setup"
fi
#fi

免责声明:我在Datmo工作,我们正在构建一个新工具来改进定量工作流程。

在这种情况下,我强烈建议使用Docker。 您可以使用容器来设置环境。 例如,在您的情况下,您可能正在使用Scientific Linux 7,因此您可以直接安装Fermi Science Tools,但您可以使用标准的Linux安装(CentOS,Debian或Ubuntu)并从此链接安装Docker。

安装完成后,您可以使用以下命令在此页面上绘制图像:

docker pull sfegan/fermitools_ubuntu

然后,您可以通过运行docker run运行所需的任何代码( 此处为docs

如果您正在处理一个特别困难的定量工作流程(例如使用大型科学数据集等),那么像Datmo这样的免费工具会使用Docker来帮助您进行设置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM