Почему программа запускается в командной строке, но не с IDLE? - PullRequest
0 голосов
/ 29 марта 2019

В коде используется оболочка Reddit, которая называется praw Вот часть кода:

    import praw
    from praw.models import MoreComments
    username = 'myusername'
    userAgent = 'MyAppName/0.1 by ' + username
    clientId = 'myclientID'
    clientSecret = 'myclientSecret'
    threadId = input('Enter your thread id: ');
    reddit = praw.Reddit(user_agent=userAgent, client_id=clientId, client_secret=clientSecret)
    submission = reddit.submission(id=threadId)
    subredditName = submission.subreddit
    subredditName = str(subredditName)
    act = input('type in here what you want to see: ')
    comment_queue = submission.comments[:]  # Seed with top-level
    submission.comments.replace_more(limit=None)

    def dialogues():
     for comment in submission.comments.list():
        if comment.body.count('"')>7 or comment.body.count('\n')>3:
            print(comment.body + '\n \n \n')  

    def maxLen():
     res = 'abc'
     for comment in submission.comments.list():
        if len(comment.body)>len(res):
            res=comment.body
     print(res)
     #http://code.activestate.com/recipes/269708-some-python-style-switches/
     eval('%s()'%act)

Так как я новичок в Python и вообще не разбираюсь в программировании, я удивлен, увидев, что каждый бит кода в командной строке работает, но я получаю ошибку в IDLE в первой строке, говорящую ModuleNotFoundError: No module по имени 'praw'

Ответы [ 2 ]

0 голосов
/ 29 марта 2019

Что должно произойти, так это то, что ваш cmd и idle используют разные интерпретаторы python, т.е. у вас есть два разных модуля, которые могут выполнять код python.Это могут быть разные версии python или одна и та же версия, но установленные в разных местах на вашем компьютере.

Давайте пока назовем два интерпретатора PyA и PyB.Если у вас есть pip install praw в PyA, только PyA сможет импортировать и выполнять функции из этой библиотеки.PyB до сих пор не знает, что означает praw.

Что вы можете сделать, это установить библиотеку для PyB, и все будет хорошо.

0 голосов
/ 29 марта 2019

вы должны установить praw с помощью команды

pip install praw, которые устанавливают последнюю версию praw в среде

...