Переменные окружения не работают в PyCharm для использования в Tweepy - PullRequest
1 голос
/ 20 июня 2019

Я не могу получить переменные окружения.

Я попробовал фрагмент кода из документации Tweepy без переменных окружения, и он работал как надо.Я определил необходимые переменные непосредственно в коде.

Затем я определил 4 переменных среды для consumer_key, consumer_secret, access_token and access_token_secret, но они больше не работали.Меня удивляет то, что я могу получить доступ к переменным окружения, например, с помощью print(os.environ['TWITTER_CONSUMER_KEY']) и вывод правильный.

В ключах нет опечаток.Я дважды проверил это.

Этот код работает:

import tweepy

consumer_key = 'xyz'
consumer_secret = 'xyz'
access_token = 'xyz'
access_token_secret = 'xyz'

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)

api = tweepy.API(auth)

public_tweets = api.home_timeline()
for tweet in public_tweets:
    print(tweet.text)

Этот код не работает:

import os
import tweepy

consumer_key = os.environ['TWITTER_CONSUMER_KEY']
consumer_secret = os.environ['TWITTER_CONSUMER_SECRET']
access_token = os.environ['TWITTER_ACCESS_TOKEN']
access_token_secret = os.environ['TWITTER_ACCESS_SECRET']

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)

api = tweepy.API(auth)

public_tweets = api.home_timeline()
for tweet in public_tweets:
    print(tweet.text)

Я получаю следующее сообщение об ошибке:

Traceback (most recent call last):   
File "[...]/testing.py", line 28, in <module>
   public_tweets = api.home_timeline()
File "[...]venv\lib\site-packages\tweepy\binder.py", line 250, in _call 
   return method.execute()
File "[...]\venv\lib\site-packages\tweepy\binder.py", line 234, in execute 
   raise TweepError(error_msg, resp, api_code=api_error_code) tweepy.error.TweepError: [{'code': 32, 'message': 'Could not authenticate you.'}]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...