Итак, я сделал команду под названием jel
, которая может быть выполнена как jel
. Он запускается на Python, и когда я запускаю jel doctor
, в jel.py
он дает мне ошибку (основной файл). Код выглядит так: Обратите внимание, что все необходимые модули уже импортированы.директория cd не существует?
elif arg == 'doctor':
subprocess.call(['cd', 'js'])
ver = subprocess.call(['node', 'version.js'])
subprocess.call(['cd', '..'])
if not ver == version:
print 'jel doctor: \033[91found that version\033[0m ' + str(version) + ' \033[91mis not the current version\033[0m'
print 'jel doctor: \033[92mrun jel update\033[0m'
sys.exit()
js
файл version.js
запускается на узле, и выглядит следующим образом: Все необходимые пакеты установлены
var latest = require('latest');
latest('jel', function(err, v) {
console.log(v);
// => "0.0.3"
if (err) {
console.log('An error occurred.');
}
});
Это дает мне эту ошибку, когда файл jel.py
использует subprocess
позвонить cs js
и node version.js
:
Traceback (most recent call last):
File "/bin/jel", line 90, in <module>
subprocess.call(['cd', 'js'])
File "/usr/lib/python2.7/subprocess.py", line 522, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1327, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
bjskistad:~/workspace (master) $ jel doctor
Traceback (most recent call last):
File "/bin/jel", line 90, in <module>
subprocess.call(['cd', 'js'])
File "/usr/lib/python2.7/subprocess.py", line 522, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1327, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
Я считаю, что он говорит, что каталог не существует, хотя он и делает. Нужно ли мне еще что-то звонить?
нет, это говорит о том, что 'cd' файл не существует. 'cd' - это встроенная оболочка, а не исполняемый файл. –
@ Robᵩ Да, но каталог 'js' можно найти, а' version.js' должен быть запущен узлом. –
@ Robᵩ Plus, я запустил его в своем bash, и это сработало. –