PermissionError: [Errno 13] Permission denied and Subprocess error
PermissionError: [Errno 13] Permission denied and Subprocess error
PermissionError Traceback (most recent call last)
<ipython-input-8-bab992cc7bb5> in <module>()
67
68 if __name__ == "__main__":
---> 69 main()
/content/gdrive/My Drive/LORE/pyyadt.py in fit(df, class_name, columns, features_type, discrete, continuous, filename, path, sep, log)
32 cmd = 'yadt/dTcmd -fd %s -fm %s -sep %s -d %s' % (
33 data_filename, names_filename, sep, tree_filename)
---> 34 output = subprocess.check_output(cmd.split(), stderr=subprocess.STDOUT)
35 # cmd = r"dTcmd -fd %s -fm %s -sep '%s' -d %s" % (
36 # data_filename, names_filename, sep, tree_filename)
/usr/lib/python3.6/subprocess.py in check_output(timeout, *popenargs, **kwargs)
354
355 return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
--> 356 **kwargs).stdout
357
358
/usr/lib/python3.6/subprocess.py in run(input, timeout, check, *popenargs, **kwargs)
421 kwargs['stdin'] = PIPE
422
--> 423 with Popen(*popenargs, **kwargs) as process:
424 try:
425 stdout, stderr = process.communicate(input, timeout=timeout)
/usr/lib/python3.6/subprocess.py in __init__(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, encoding, errors)
727 c2pread, c2pwrite,
728 errread, errwrite,
--> 729 restore_signals, start_new_session)
730 except:
731 # Cleanup if the child failed starting.
/usr/lib/python3.6/subprocess.py in _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, start_new_session)
1362 if errno_num == errno.ENOENT:
1363 err_msg += ': ' + repr(err_filename)
-> 1364 raise child_exception_type(errno_num, err_msg, err_filename)
1365 raise child_exception_type(err_msg)
1366
PermissionError: [Errno 13] Permission denied: 'yadt/dTcmd'
我无法访问该文件,因此无法访问脚本 运行。在虚拟环境中也尝试了不同的 python 版本。关于此子流程错误的任何帮助?
文件 'dTcmd' 没有扩展名。
看起来您正在尝试执行名为 yadt/dTcmd
的文件,但它未标记为可执行文件。像这样添加执行权限(对所有用户):
chmod a+x yadt/dTcmd
PermissionError Traceback (most recent call last)
<ipython-input-8-bab992cc7bb5> in <module>()
67
68 if __name__ == "__main__":
---> 69 main()
/content/gdrive/My Drive/LORE/pyyadt.py in fit(df, class_name, columns, features_type, discrete, continuous, filename, path, sep, log)
32 cmd = 'yadt/dTcmd -fd %s -fm %s -sep %s -d %s' % (
33 data_filename, names_filename, sep, tree_filename)
---> 34 output = subprocess.check_output(cmd.split(), stderr=subprocess.STDOUT)
35 # cmd = r"dTcmd -fd %s -fm %s -sep '%s' -d %s" % (
36 # data_filename, names_filename, sep, tree_filename)
/usr/lib/python3.6/subprocess.py in check_output(timeout, *popenargs, **kwargs)
354
355 return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
--> 356 **kwargs).stdout
357
358
/usr/lib/python3.6/subprocess.py in run(input, timeout, check, *popenargs, **kwargs)
421 kwargs['stdin'] = PIPE
422
--> 423 with Popen(*popenargs, **kwargs) as process:
424 try:
425 stdout, stderr = process.communicate(input, timeout=timeout)
/usr/lib/python3.6/subprocess.py in __init__(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, encoding, errors)
727 c2pread, c2pwrite,
728 errread, errwrite,
--> 729 restore_signals, start_new_session)
730 except:
731 # Cleanup if the child failed starting.
/usr/lib/python3.6/subprocess.py in _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, start_new_session)
1362 if errno_num == errno.ENOENT:
1363 err_msg += ': ' + repr(err_filename)
-> 1364 raise child_exception_type(errno_num, err_msg, err_filename)
1365 raise child_exception_type(err_msg)
1366
PermissionError: [Errno 13] Permission denied: 'yadt/dTcmd'
我无法访问该文件,因此无法访问脚本 运行。在虚拟环境中也尝试了不同的 python 版本。关于此子流程错误的任何帮助?
文件 'dTcmd' 没有扩展名。
看起来您正在尝试执行名为 yadt/dTcmd
的文件,但它未标记为可执行文件。像这样添加执行权限(对所有用户):
chmod a+x yadt/dTcmd