当我从资源管理器运行.py文件时,控制台中找不到包错误



我是Python的初学者。我正在使用Pycharm社区的Python脚本。我运行的代码导入了一些自定义包,从该 IDE(Pycharm( 代码按预期运行,输出良好。问题是如果我通过双击从本地驱动器运行该代码文件,提示说找不到包。为什么会这样?.请求帮助。

我正在尝试运行的文件

from StackOverflow import Speak
import datetime
def time_compare():
now = datetime.datetime.now()
today12pm = now.replace(hour=12,minute=0,second=0,microsecond=1)
today4pm =  now.replace(hour=15,minute=0,second=0,microsecond=0)
today6pm = now.replace(hour=18, minute=0, second=0, microsecond=0)
if now < today12pm:
Speak.Sen_speak ("Good Morning Shiv!")
elif today12pm <= now and now < today4pm:
Speak.Sen_speak("Good Afternoon Shiv")
elif today4pm <= now and now <today6pm:
Speak.Sen_speak("Good Evening Shiv")
else:
Speak.Sen_speak("It seems to be night, are we really going to work")
input("Press Enter To exit")
time_compare()

我正在导入的文件

import pyttsx

def Sen_speak(msg):
try:
engine = pyttsx.init()
engine.setProperty('voice', 'HKEY_LOCAL_MACHINESOFTWAREMicrosoftSpeechVoicesTokensTTS_MS_EN-US_ZIRA_11.0')
engine.say(msg)
engine.runAndWait()
return 'said'
except:
return 'Err'

def Testing_method():
message = raw_input("Enter To Speak")
result = Sen_speak(message)
if result == 'said':
print ("Said Successfully")
else:
print ("Error With Sound")

#Testing_method()

类似的问题在这里和这里被问过。 如果您没有在尝试运行的脚本所在的文件夹中创建的 Stackoverflow 包,则需要使用完整路径使用上述链接中答案中的代码导入它:

import importlib.machinery
modulename = importlib.machinery.SourceFileLoader('modulename','/Path/To/Stackoverflow.py').load_module()

希望对您有所帮助。

也许你应该安装软件包,比如"pip install StackOverflow",或者你可以下载软件包,然后运行脚本"setup.py",使用"python setup.py install",这样你就可以安装软件包了。

最新更新