假设我在〜/ programming / ass1中,可执行文件在〜/ programming / ass1 / seattle / seattle_repy / repy.py。
我试图像这样创建一个符号链接
ln -s seattle/seattle_repy/repy.py repy
能够输入
python repy restrictions.test example.1.1.repy
而不是
python seattle/seattle_repy/repy.py restrictions.test example.1.1.repy
但它没有用(我得到“python:无法打开文件'/ home / philipp / Desktop / Uni / NTM / UE / Uebungsblatt 3 / safe_check.py':[Errno 2]没有这样的文件或目录”)。 所以repy.py找不到safe_check.py。
这有可能吗?
干杯, 菲利普
答案 0 :(得分:1)
你需要frob sys.path
来添加包含模块的路径,但是制作一个调用exec python ~/programming/ass1/seattle/seattle_repy/repy.py
的shell脚本可能更容易。
答案 1 :(得分:0)
感谢Ignacio和Mark提示。 我用〜/ programming / ass1
中的以下bash脚本解决了这个问题#!/bin/bash exec python ~/programming/ass1/seattle/seattle_repy/repy.py $@
为了最终获得我想要的东西,我将其复制到/ usr / bin并为其创建了一个符号链接:
sudo cp repy.sh /usr/bin/
sudo ln -s /usr/bin/repy.sh /usr/bin/repy
所以现在我可以说repy restrictions.test example.2.1.repy
并且它会起作用。