从批处理文件运行python脚本时出现ModuleNotFoundError

时间:2019-01-20 11:04:05

标签: python python-3.x batch-file google-translate

我有一个名为sc.py的简单python脚本,可以翻译一个单词。这是我的代码:

#! python3

from googletrans import Translator
import sys

translator = Translator()

dest = 'hr'

if len(sys.argv) > 1:
    try:
        dest = sys.argv[2]
    except:
        pass

    translated = translator.translate(sys.argv[1],  dest = dest)
    print(translated.text)

当我从命令行运行脚本时,脚本可以按预期工作,例如:

python sc.py something it

我得到了预期的结果:

qualcosa

然后,我创建了一个批处理文件,因此可以通过编写translate从任何地方调用此脚本。这是我称为translate.bat的批处理文件:

@py.exe D:\path\to\the\script\sc.py %*

我已经在路径中添加了批处理文件所在的文件夹,但是当我尝试运行它时,我得到的是ModuleNotFoundError

Traceback (most recent call last):
  File "D:\path\to\the\script\sc.py", line 3, in <module>
    from googletrans import Translator
ModuleNotFoundError: No module named 'googletrans'

我不知道为什么会这样,有人遇到过类似的事情吗?

2 个答案:

答案 0 :(得分:2)

可能安装了多个版本的python,或者为所有版本的python安装googletrans

使用

python D:\path\to\the\script\sc.py %*

代替

@py.exe D:\path\to\the\script\sc.py %* 

答案 1 :(得分:0)

对于 python 3.7,在 CMD 中输入以下内容:

CD C:\Users\[path]\Continuum\anaconda3\Lib\site-packages

然后:

pip3 install googletrans