最近在尝试搭 python 的数据分析的环境. 总结一下遇到的一些坑.
用的是 14.04 这个有点老的 ubuntu.
nginx + jupyter
jupyter 这个玩意的 web 写得不是很优美. 所以需要转发的地方蛮麻烦的.
本来想直接在 uri 里搞一下. 然后发现过于难受就放弃了, 重新配置了一个域名转发.
nginx 的 server 配置里需要加这么一段.
server {
location ~* /(api/kernels/[^/]+/(channels|iopub|shell|stdin)|terminals/websocket)/? {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# WebSocket support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_pass http://127.0.0.1:8888;
}
}
其中有个Upgrade
是这么定义的.
http {
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
sendfile on;
}
google 了几个配置文件才弄出这么一个能用的.
scipy
用 pip3 装 scipy 的时候会有一个错误.
pip.exceptions.InstallationError: Command /usr/bin/python3 -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/scipy/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-llz085yi-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/scipy
我以为是啥奇怪的依赖问题. 结果发现解决方法很简单. 直接 apt install python3-scipy
就完了.