我一直在运行 jupyterhub 0.91 。在MacOS Sierra(版本10.12.6)中成功运行,并且可以从连接到此MacOS网络的任何客户端访问笔记本。我试图将 jupyterhub 用作服务。为此,我在 / Users / xyz / Library / LaunchAgents 中创建了 org.xyz.jupyter.plist 文件( xyz 是我的用户ID ),其中包含以下内容(为简洁起见,省略了标准的页眉和页脚信息):
<dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>org.xyz.jupyter</string>
<key>ProgramArguments</key>
<array>
<string>/Users/xyz/Library/LaunchAgents/jupyterhub.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StandardErrorPath</key>
<string>/Users/Shared/jupyterhub.err</string>
<key>StandardOutPath</key>
<string>/Users/Shared/jupyterhub.out</string>
<key>KeepAlive</key>
<true/>
</dict>
并且, /Users/xyz/Library/LaunchAgents/jupyterhub.sh 的内容是:
PID=$(pgrep -f jupyterhub)
if [ "x$PID" = "x" ]; then # Ensure only one jupyterhub instance is running
sudo /opt/anaconda/anaconda3/bin/jupyterhub -f /Users/Shared/jupyterhub_config.py
fi
我独立运行了上述Shell脚本,并且 jupyterhub 开始运行时没有出现任何问题。但是,当我重新启动Mac以自动启动集线器时,出现以下错误(摘录):
File "/opt/anaconda/anaconda3/lib/python3.6/subprocess.py", line 1344, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'configurable-http-proxy': 'configurable-http-proxy'
我检查了执行 jupyterhub 的位置 / opt / anaconda / anaconda3 / bin / ,发现文件 configurable-http-proxy >。然后,我将其复制到: /opt/anaconda/anaconda3/lib/python3.6 ,subprocess.py从该位置执行并报告 configurable-http-proxy 的缺失>。但是,错误仍然相同。有什么帮助吗?
答案 0 :(得分:0)
运行用于启动 jupyterhub 的代理时,它似乎对可执行文件的位置一无所知。在这种情况下,它不知道 configurable-http-proxy 所在的位置。因此,我添加了一个 EnvironmentVariables 指令,其中包含上述文件的路径( / opt / anaconda / anaconda3 / bin )。修改后的 plist 文件是:
<dict>
<key>EnvironmentVariables</key>
<dict>
<key>PATH</key>
<string>/opt/anaconda/anaconda3/bin:/bin:/usr/bin</string>
</dict>
<key>Label</key>
<string>org.xyz.jupyter</string>
<key>ProgramArguments</key>
<array>
<string>/opt/anaconda/anaconda3/bin/jupyterhub</string>
<string>-f</string>
<string>/Users/Shared/jupyterhub_config.py</string>
</array>
我的问题中显示的其他内容。