在myria-python中,我们使用setuptools install_requires来配置所需的包.在我们特殊的安装文件,我们包括requests-toolbelt与requests在该列表中.
当我们创建一个新的虚拟环境然后运行时python setup.py install,它第一次就失败了Cannot find required distribution requests.这似乎是因为pip识别requests toolbelt-0.3.1(注意空格)作为包的正确匹配requests.
毕竟python setup.py install再次运行似乎安装requests.
这是一个GitHub问题,其中包含安装过程的完整日志.
重现步骤:
git clone https://github.com/uwescience/myria-python.gitcd myria-pythonmkvirtualenv myria-pythonpython setup.py整个实验室似乎都有这个问题,但是我们所有人都使用安装了10.9或10.10的Mac OS X. 这是我的机器规格:
我还能够在我们的一个Ubuntu服务器上复制它:
这是错误日志的尾部:
Searching for requests-toolbelt
Reading https://pypi.python.org/simple/requests_toolbelt/
Best match: requests-toolbelt …Run Code Online (Sandbox Code Playgroud) 我想每5分钟运行一次特定的功能.如果我写这样的代码:
function f() {
console.log("hi");
d3.timer(f, 5*60*1000);
return true;
}
d3.timer(f, 5*60*1000);
Run Code Online (Sandbox Code Playgroud)
然后f似乎运行一次,然后再也没有.
我通过创建一个f名为f2:fcalls d3.timer(f2)和f2call 的克隆来实现所需的行为d3.timer(f).这看起来像一个丑陋的黑客.有没有更好的办法?
我有一个脚本,用于ssh登录远程机器、cd特定目录,然后启动守护程序。原始脚本如下所示:
ssh server "cd /tmp/path ; nohup java server 0</dev/null 1>server_stdout 2>server_stderr &"
Run Code Online (Sandbox Code Playgroud)
此脚本似乎工作正常。但是,对于用户输入错误路径导致cd失败的情况并不稳健。由于 ,即使失败;,此命令也会尝试运行该nohup命令cd。
明显的修复不起作用:
ssh server "cd /tmp/path && nohup java server 0</dev/null 1>server_stdout 2>server_stderr &"
Run Code Online (Sandbox Code Playgroud)
也就是说,SSH 命令在服务器停止之前不会返回。放在nohup前面cd而不是前面java没有用。
谁能帮我解决这个问题?你能解释为什么这个解决方案不起作用吗?谢谢!
编辑: cbuckley 建议使用sh -c,我从中得出:
ssh server "nohup sh -c 'cd /tmp/path && java server 0</dev/null 1>master_stdout 2>master_stderr' 2>/dev/null 1>/dev/null &"
Run Code Online (Sandbox Code Playgroud)
但是,现在退出代码总是0在cd失败时;而如果我这样做了,ssh server cd /failed/path …
本文旨在回答以下问题:
Coders支持可空值?null条目的馆藏怎么样?以下答案包括对以下常见问题的回答.