【问题标题】:bash: python: .py: command not found [duplicate]bash:python:.py:找不到命令[重复]
【发布时间】:2017-11-22 21:15:47
【问题描述】:

我正在尝试在QIIME2 virtual machine 中运行以下命令,安装在 macbook 上但代码不起作用

validate_mapping_file.py -m Fasting_Map.txt -o mapping_output

这里是链接:http://qiime.org/tutorials/tutorial.html

我收到以下消息

bash: validate_mapping_file.py: 找不到命令

我是unix/linuxqiime 的新手。非常感谢您的帮助...

【问题讨论】:

  • chmod +x validate_mapping_file.py plus 请显示此 Python 文件的第一行 - 是否有 shabang 行?
  • 您尝试使用./validate_mapping_file.py<absolute_path> to validate_mapping_file.py

标签: python bash qiime


【解决方案1】:

要以这种方式执行 Python 脚本,您需要三件事:

  1. 该文件需要为您设置可执行位。为此,请尝试使用:chmod u+x validate_mapping_file.py

  2. 文件需要以shebang开头,例如#!/usr/bin/env python3,它将告诉系统根据您的环境使用python3可执行文件运行脚本

  3. 该文件需要位于您的 PATH 环境变量中的目录之一中。您可以使用 export PATH=$PWD:$PATH 添加当前目录或使用 ./validate_mapping_file.py 而不是 validate_mapping_file.py(感谢 @Grisha)

之后,您应该能够按照您之前尝试的方式执行脚本。

【讨论】:

  • ...而且它必须在PATH 目录之一中
  • $(pwd):$PATH 或其基于反引号的等效项与$PWD/$PATH 相比效率极低;像任何其他命令替换一样,它分叉了一个子shell。
  • @CharlesDuffy 我怀疑他的打字速度比pwd 执行的速度快。尽管如此,它还是达到了相同的效果并且效率更高,因此我编辑了答案。
  • @FlorianRhiem,谢谢。关心的不是直接的交互使用,而是教学实践,如果在其他情况下使用会造成瓶颈(即内部循环)。
猜你喜欢
  • 2020-10-26
  • 2021-12-31
  • 2018-05-09
  • 2020-01-23
  • 2014-10-18
  • 2016-06-06
  • 2013-09-07
  • 2013-05-17
  • 2019-01-28
相关资源
最近更新 更多