相关疑难解决方法(0)

我应该放#!(shebang)在Python脚本中,应该采用什么形式?

我应该把shebang放在我的Python脚本中吗?以什么形式?

#!/usr/bin/env python 
Run Code Online (Sandbox Code Playgroud)

要么

#!/usr/local/bin/python
Run Code Online (Sandbox Code Playgroud)

这些同样便携吗?哪种形式最常用?

注:龙卷风项目采用的家当.另一方面, Django项目没有.

python shell shebang python-3.x

741
推荐指数
10
解决办法
44万
查看次数

如何使python脚本可执行?

如何使用我自己的命令行名称运行python脚本,如'myscript'而不必在终端中执行'python myscript.py'?

python macos command-line

29
推荐指数
3
解决办法
4万
查看次数

如何使我的R脚本可执行?

我知道这是一个很复杂的风险,但在这里没有其他问题我找到了我的问题的答案.以下是我已经尝试过的摘要.

我有一个R脚本文件file.r:

#!/usr/bin/env Rscript 
print("Hello World!")
Run Code Online (Sandbox Code Playgroud)

这是可执行的(chmod +x file.r),并且曾经很好地运行(上次我使用它大约一个月前),发出:

$ ./file.r
Run Code Online (Sandbox Code Playgroud)

但是,今天:

$ ./file.r
/usr/bin/env: 'Rscript\r': No such file or directory
Run Code Online (Sandbox Code Playgroud)

事实上:

$ which Rscript
/usr/bin/Rscript 
Run Code Online (Sandbox Code Playgroud)

因此,我将shebang改为:#!/usr/bin Rscript,但是:

$ ./file.r
/usr/bin: bad interpreter: Permission denied
Run Code Online (Sandbox Code Playgroud)

然后我想我会以超级用户身份运行它,但是:

$ sudo ./file.r
sudo: unable to execute ./file.r: Permission denied
Run Code Online (Sandbox Code Playgroud)

阅读我发现R的全新安装将解决我的问题,所以我卸载并安装了R.不幸的是我之前写的仍然适用.但请注意,以下适用于shebang版本:

$ Rscript file.r
[1] "Hello World!"
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

r shebang rscript

12
推荐指数
1
解决办法
6530
查看次数

标签 统计

python ×2

shebang ×2

command-line ×1

macos ×1

python-3.x ×1

r ×1

rscript ×1

shell ×1