我有一个名为test-folder
的文件夹,其中包含两个文件。
第一个test-folder
存在于/home/username/Documents/
内部
我已经将上述路径导出到.bashrc
。
现在,当我尝试script.sh使用以下命令执行www.example.com时,
bash script.sh
我收到以下错误
python3.7: can't open file 'demo.py': [Errno 2] No such file or directory
我该怎么解决这个问题?我在Ubuntu 18.04上
4条答案
按热度按时间4smxwvx51#
移动到包含文件的文件夹:
$ cd /home/username/Documents/test-folder
确保您位于包含该文件的文件夹C中后,请尝试:
$ python file_name.py
如果不起作用,请尝试python的完整路径和文件的完整路径,如下所示:
$ /usr/lib/python3.7 /home/username/Documents/test-folder/file_name.py
jchrr9hc2#
如果你想从任何地方使用
script.sh
,你的方法都不起作用。当执行$ bash script.sh
时,文件script.sh
应该位于工作目录中。您可以使用绝对路径来解决此问题:
尝试使用
bash /home/username/Documents/test-folder/script.py
执行此操作。你可以用一种可以说是更简单的方式来实现你的目标,把
/home/username/Documents/test-folder
添加到你的PATH
中,把一个shebang添加到demo.py
中,并使demo.sh
成为可执行的。demo.sh
将如下所示,并带有一个shebang:并且可以使用
$ demo.sh
从任何地方执行。62o28rlo3#
对我来说很有效。你的设置和我的有什么不同吗?
编辑:尝试以下操作。
pcww981p4#
如果你的
script.sh
文件只是用来运行Python脚本的,那么就不需要它,而是让Python脚本本身成为可执行文件。(1)在Python文件中添加以下内容作为第一行--这将告诉Unix在运行此文件时使用哪个解释器:
(2)将Python文件设置为可执行文件,以便可以直接运行:
(3)将该文件放在路径上,例如,通过Bash配置文件设置的路径,或者已经在路径上的路径,如
/usr/local/bin
。现在,只要你给予
demo.py
命令,你的脚本就会运行。注意,.py
扩展名不是必需的--你可以随意命名文件。