提问人:PesKchan 提问时间:11/9/2023 最后编辑:PesKchan 更新时间:11/9/2023 访问量:25
Python 脚本从 docker 容器中的 R 脚本调用问题
Python script calling issue from a R script in docker container
问:
我有一个docker映像,这是文件/文件夹结构
docker exec -it ec71a4e7a /bin/sh
# ls
bin dev etc home lib media methylKit.R opt proc run sbin sys usr
boot environment.yml filter_parse.py HOME lib64 merge_methyl.py mnt out.mm10_refseq.tsv root run_DMR_calling.py srv tmp var
所以这里是发生的事件的顺序。
- 调用run_DMR_calling.py,它调用 methylKit.R。
- 上述事件按原样工作。因此,在上面的 R 脚本中,我有一个需要过滤的步骤,其中从 R 脚本接收输入。
所以现在在 R 脚本中,调用 python 脚本的代码部分是这样的
###### run filter and unfiltered files
filename <- paste0(bioset_folder, "/", biosetFile_name, ".txt")
#cmd <- paste0('python merge_methyl.py out.',args$genome,'_refseq.tsv "', filename,'"')
cmd <- paste0('python filter_parse.py out.',args$genome,'_refseq.tsv "', filename,'"')
#print(cmd)
system(cmd)
现在我面临的问题是这个错误
python: can't open file 'filter_parse.py': [Errno 2] No such file or directory
到目前为止,我的理解是,由于所有脚本都在同一个地方,它应该能够调用 python 脚本,但这不起作用。
我该如何解决这个问题,任何建议或帮助将不胜感激
######### 更新 ################
docker exec -it 820dc6455 pwd
/
docker exec -it 820dc6455 ls -l
total 1444
drwxr-xr-x. 1 root root 179 Mar 16 2022 bin
drwxr-xr-x. 2 root root 6 Aug 22 2021 boot
drwxr-xr-x. 5 root root 360 Nov 9 09:23 dev
-rw-r--r--. 1 root root 131 Mar 16 2022 environment.yml
drwxr-xr-x. 1 root root 66 Nov 9 09:23 etc
-rw-r--r--. 1 661237 32840 4629 Nov 7 16:07 filter_parse.py
drwxr-xr-x. 1 root root 20 Oct 12 2021 home
drwxr-xr-x. 1 root root 52 Mar 16 2022 HOME
drwxr-xr-x. 1 root root 30 Nov 1 2021 lib
drwxr-xr-x. 1 root root 34 Mar 16 2022 lib64
drwxr-xr-x. 2 root root 6 Oct 11 2021 media
-rwxr-xr-x. 1 661237 32840 4579 Nov 7 15:57 merge_methyl.py
-rwxr-xr-x. 1 661237 32840 10571 Nov 7 16:15 methylKit.R
drwxr-xr-x. 2 root root 6 Oct 11 2021 mnt
drwxr-xr-x. 1 root root 19 Mar 16 2022 opt
-rw-r--r--. 1 661237 32840 1430277 Nov 1 14:06 out.mm10_refseq.tsv
dr-xr-xr-x. 218 root root 0 Nov 9 09:23 proc
drwx------. 1 root root 27 Aug 2 13:58 root
drwxr-xr-x. 3 root root 18 Oct 11 2021 run
-rwxr-xr-x. 1 root root 9861 Jun 3 15:06 run_DMR_calling.py
drwxr-xr-x. 1 root root 22 Mar 16 2022 sbin
drwxr-xr-x. 2 root root 6 Oct 11 2021 srv
dr-xr-xr-x. 13 root root 0 Jul 7 09:57 sys
drwxrwxrwt. 1 root root 6 Nov 8 15:24 tmp
drwxr-xr-x. 1 root root 19 Oct 11 2021 usr
drwxr-xr-x. 1 root root 41 Oct 11 2021 var
(base) [kmurma@sgnt-dev-deso03 makee_Fast]$ docker exec -it 820dc6455 python --version
Python 2.7.16 :: Anaconda, Inc.
docker exec -it 820dc6455 find / -name "filter_parse.py"
find: ‘/proc/1/map_files’: Operation not permitted
find: ‘/proc/38/map_files’: Operation not permitted
/filter_parse.py
答: 暂无答案
评论