.profile中的Bash函数未运行SimpleHTTPServer - 找不到文件

时间:2015-03-28 02:31:58

标签: python bash function profile simplehttpserver

所以我有一个简单的bash函数存储在〜/ .profile中,如下所示:

function testingServer() { local port="${1:-8000}" python SimpleHTTPServer "$port" open "http://localhost:${port}/" }

但是当我运行该功能时,它会给我这个错误:

python: can't open file 'SimpleHTTPServer': [Errno 2] No such file or directory

对我来说这似乎很奇怪,因为当我像这样运行命令时一切正常:

python -m SimpleHTTPServer 8080

关于我可以做些什么来尝试追逐它的任何线索?

1 个答案:

答案 0 :(得分:2)

你在调用Python时错过了-m参数吗?添加它,它应该工作。

function testingServer() {
    local port="${1:-8000}"
    python -m SimpleHTTPServer "$port"
    open "http://localhost:${port}/"
}

SimpleHTTPServer不是文件(尤其不是本地目录中的文件)是正确的。但-m表示它是一个模块,因此在何处/何处找到它。

这是否正是您从测试角度想要/需要做的事情是另一回事。但至少你可以摆脱can't open file错误。