2
votes

I try to run my twitter bot code and I get this error:

[Error 2] The system cannot find the file specified [cmd: [u'python', u'-u', u'C:\Users\humza\Desktop\Simple-Python-TwitterBot-master\run.py']] [dir: C:\Users\humza\Desktop\Simple-Python-TwitterBot-master] [path: C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\RailsInstaller\Git\cmd;C:\Program Files\nodejs\;C:\Program Files (x86)\Heroku\bin;C:\Program Files (x86)\git\cmd;C:\Program Files (x86)\Skype\Phone\;C:\Users\humza\AppData\Local\Programs\Common\Microsoft] [Finished]

Here is my code:

import tweepy
    from tweepy.auth import OAuthHandler
    from tweepy.streaming import StreamListener, Stream

    ckey = ""
    csecret = ""
    atoken = ""
    asecret = ""

    auths = OAuthHandler(ckey, csecret)
    auths.set_access_token(atoken, asecret)
    api = tweepy.API(auths)

    class listener(StreamListener):
        def on_data(self, raw_data):
            try:
                tweet_text = raw_data.lower().split('"text":"')        [1].split('","source":"')[0].replace(",", "")
                screen_name = raw_data.lower().split('"screen_name":"')[1].split('","location"')[0].replace(",", "")
                tweet_cid = raw_data.split('"id":')[1].split('"id_str":')[0].replace(",", "")

            accs = [] # banned account screen name goes in here
            words = [] # banned words goes in here

            if not any(acc in screen_name.lower() for acc in accs):
                if not any(word in tweet_text.lower() for word in words):
                    # call what u want to do here
                        #fav(tweet_cid)
                    #retweet(tweet_cid)
                    #syntax need to be fixed here
           return True

        except Exception as e:
            print(str(e)) # prints the error msg, if u dont want it comment it out
            pass


    def on_error(self, status_code):
        try:
            print( "error" + status_code)
        except Exception as e:
            print(str(e))
            pass

def create_tweet():
    """Kent is Great!"""
    # Replace this with your code!
    text = ""
    return text


def retweet(tweet_cid):
    try:
        api.retweet(tweet_cid)
    except Exception as e:
        print(str(e))
        pass


def fav(tweet_cid):
    try:
        api.create_favorite(tweet_cid)
    except Exception as e:
        print(str(e))
        pass


def unfav(tweet_cid):
    try:
        api.destroy_favorite(tweet_cid)
    except Exception as e:
        print(str(e))
        pass


def tweet(myinput):
    try:
        api.update_status(status=myinput)
    except Exception as e:
        print(str(e))
        pass

def tweet(text):
    """Send out the text as a tweet."""
    # Twitter authentication
    auth = tweepy.OAuthHandler(C_KEY, C_SECRET)
    auth.set_access_token(A_TOKEN, A_TOKEN_SECRET)
    api = tweepy.API(auth)

    # Send the tweet and log success or failure
    try:
        api.update_status(text)
    except tweepy.error.TweepError as e:
        log(e.message)
    else:
        log("Tweeted: " + text)


track_words = ["kent"]
follow_acc = ['946886204'] # all username converted to user ids

try:
    twt = Stream(auths, listener())
    twt.filter(track= track_words , follow = follow_acc)
except Exception as e:
    print(str(e))
    pass
1
How exactly do you run it?Igor
It seems unlikely that the bot code is relevant, given that the problem is that however you're running it can't find that code.jonrsharpe
I am trying to Run it within the Sublime editor firstWindWalker

1 Answers

0
votes

It seems like Python is not part of your environment variable PATH.

Go to My Computer > Properties > Advanced > Environment Variables and add "C:\python27;" (use your python version) to the beginning of PATH, then relaunch Sublime.

In Sublime, open the console with "(ctrl-`)" run os.getenv("PATH") and verify C:\python27; is in the result.