首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >nextflow没有找到我所有的python模块。

nextflow没有找到我所有的python模块。
EN

Stack Overflow用户
提问于 2021-08-15 23:30:01
回答 1查看 545关注 0票数 3

我正在尝试制作一个利用python脚本的Nextflow脚本。我的python脚本导入了许多模块,但是在Nextflow中,python3找不到7个模块和崩溃的两个模块(cv2和matplotlib)。如果我直接从bash调用脚本,它可以正常工作。我想避免创建一个码头形象来运行这个脚本。

代码语言:javascript
运行
复制
Error executing process > 'grab_images (1)'

Caused by:
  Process `grab_images (1)` terminated with an error exit status (1)

Command executed:

  python3 --version
  echo 'processing image-1.npy'
  python3 /home/hq/cv_proj/k_means2.py image-1.npy

Command exit status:
  1

Command output:
  Python 3.7.3
  processing image-1.npy

Command error:
  Traceback (most recent call last):
    File "/home/hq/cv_proj/k_means2.py", line 5, in <module>
      import matplotlib.pyplot as plt 
  ModuleNotFoundError: No module named 'matplotlib'

Work dir:
  /home/hq/cv_proj/work/7f/b787c62ec420b2b5eb490603ef913f

Tip: you can replicate the issue by changing to the process work dir and entering the command `bash .command.run`

我认为,在成功加载numpy、sys、re、time等模块时,存在路径问题。我怎么才能修好?

提前感谢

更新

帮助其他可能在nextflow脚本中使用python时遇到问题的人.确保你的声音是正确的。我在用

代码语言:javascript
运行
复制
    #!/usr/bin/python 

而不是

代码语言:javascript
运行
复制
    #!/usr/bin/python3

因为我的所有软件包都是用pip3安装的,而且我只使用python3,所以您需要有正确的shebang。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-16 14:19:56

最好在流程声明中避免找到脚本的绝对路径。这部分文档值得花一些时间阅读:https://www.nextflow.io/docs/latest/sharing.html#manage-dependencies,特别是关于如何管理第三方脚本的小节:

任何不需要编译的第三方脚本(Bash、Python、Perl等)都可以包含在管道项目存储库中,以便与其一起分发。 授予这些文件执行权限,并将它们复制到项目存储库根目录中名为bin/的文件夹中。Nextflow将自动将此文件夹添加到PATH环境变量中,脚本将在管道中自动访问,而无需指定调用它们的绝对路径。

然后,问题是如何管理Python依赖项。你说过码头不是一种选择。康达也不是一种选择吗?Conda的配置可能类似于:

代码语言:javascript
运行
复制
name: myenv
channels:
  - conda-forge
  - bioconda
  - defaults
dependencies:
  - conda-forge::matplotlib-base=3.4.3
  - conda-forge::numpy=1.21.2
  - conda-forge::opencv=4.5.2

然后,如果上面的内容位于一个名为environment.yml的文件中,请使用以下方法创建环境:

代码语言:javascript
运行
复制
conda env create

还请参见使用Conda的最佳做法

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68796059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档