我一直将我的代码放在 github 上,但我遇到了实现障碍。我在许多计算机上运行相同的代码(包括我没有 root 访问权限的计算机)。
一段代码(一个 bash 脚本)调用一些 python 代码,例如:
python somecode.py
shell 将运行正确版本的 python,但它不会找到 somecode.py。
我试过的:
失败#1:我尝试将包含 somecode.py 的目录和文件的完整路径都添加到 PATH;无济于事。[Errno 2] 没有这样的文件或目录
失败#2:只有在顶行中添加正确版本的python的完整路径时,我才能使其适用于一台计算机:
#!/usr/local/cool/python/version/location
但是,这会破坏它在任何其他计算机上的运行。
失败#3:如果我让 bash 脚本说,我也可以让它工作:
python /full/path/to/github/place/somecode.py
但同样,这仅适用于一台计算机,因为不同计算机的路径不同。
我真正想做的是:我希望能够在多台计算机上使用相同的代码(bash 脚本和 somecode.py)。
欢迎任何有关如何正确执行此操作的建议。谢谢!
解决方案
添加:
#!/usr/bin/env python
到我的 somecode.py 代码的顶部;
mv somecode.py somecode
chmod +x somecode
确保 PATH 有 /full/path/to/directory/with/somecode。
Bash 脚本现在只说:
somecode
它有效。