我安装了一个程序,需要您执行如下 python 脚本:
python fit_locus.py --help
我想让所有用户都可以访问该文件,而不需要他们导航到 python 文件的文件夹,这样他们就可以从他们的主文件夹执行所述命令。
我尝试将安装文件夹添加到 PATH 变量,并尝试在 /bin 和 /usr/bin 中创建文件的符号链接,但它不起作用。
是否可以这样做,或者我应该要求用户导航到安装程序的文件夹?
编辑:这是我的路径变量:
没有导出:
/gasgano/bin:/opt/intel/composer_xe_2011_sp1.9.293/bin/intel64:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/esoreflex/bin:/opt/intel/composer_xe_2011_sp1.9.293/mpirt/bin/intel64
随着出口:
/gasgano/bin:/opt/intel/composer_xe_2011_sp1.9.293/bin/intel64:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/esoreflex/bin:/opt/intel/composer_xe_2011_sp1.9.293/mpirt/bin/intel64:/opt/big-macs-calibrate/
该路径/opt/big-macs/calibrate/
是包含 python 脚本 fit_locus.py 的路径
编辑2:
在我试图向所有用户提供的程序安装说明中,有一个小指南:
设置环境变量:
1 - BIGMACS 到安装目录的路径
例如,
setenv BIGMACS /Users/ronald/big-macs-calibrate/ (tcsh shell)
BIGMACS=/Users/ronald/big-macs-calibrate/ (bash shell)
export BIGMACS
2 - 将安装目录添加到PYTHONPATH
例如,
setenv PYTHONPATH $BIGMACS:PYTHONPATH (tcsh shell)
PYTHONPATH=$BIGMACS:PYTHONPATH
export PYTHONPATH
但它也不起作用。当我尝试运行时出现的错误python fit_locus.py --help
是:
python: can't open file 'fit_locus.py': [Errno 2] No such file or directory
答案1
要使类似的内容易于执行,请将其添加为 python 脚本的第一行:
#! /usr/bin/python
并且文件本身应该是可执行的;也就是说,必须设置 x 位chmod +x fit_locus.py
。
由于脚本位于修改后的路径中,因此用户只需输入名称即可。为简单起见,您可以删除“.py”,这样用户只需键入
fit_locus --help
除非你有理由希望用户知道它是一个 python 脚本。
答案2
另一种方法是创建桌面启动器。这可以指定文件的确切路径。然后可以将启动器复制到每个用户的桌面。另一种方法是使用较小的启动脚本进入每个用户的主文件夹。但是您必须在脚本名称之前使用 ./、~/ 或 $HOME/ 才能启动它。
但是,如果您修改每个用户的 .bashrc 或 .profile,则可以将文件夹添加到每个用户的 $PATH 的头部或尾部。这是一个永久性的更改,每次登录时都会生效。因此有一些选项。