Search code examples
pythonpraw

jenv.bash: No such file or directory


I am getting the following error when trying to run my code in Python:

-bash: /usr/local/Cellar/jenv/0.2.0-201404260/libexec/../completions/jenv.bash: No such file or directory

Here is my code:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import praw
import pdb
import re
import os

# Create the Reddit instance

UA = 'A Bot'
r = praw.Reddit(user_agent=UA)

REDDIT_USERNAME = '-snip-'
REDDIT_PASS = '-snip-'

r.set_oauth_app_info(client_id='-snip-',
                     client_secret='-snip-',
                     redirect_uri='http://127.0.0.1:65010/authorize_callback'
                     )

# and login

r.login(REDDIT_USERNAME, REDDIT_PASS)

subreddit = r.get_subreddit('all')
comments = subreddit.get_comments(limit=100)
flat_comments = praw.helpers.flatten_tree(comments)
already_done = set()
for comment in comments:
    if comment.body == 'Hello' and comment.id not in already_done:
        comment.reply(' world!')
        already_done.add(comment.id)

Here is the full console log of what happened when trying to run the Python code:

Last login: Sun Jul 31 02:45:28 on ttys001
cd '/Users/User/Desktop/' && '/usr/local/bin/pythonw'  '/Users/User/Desktop/PRAW_Script.py'  && echo Exit status: $? && exit 1
-bash: /usr/local/Cellar/jenv/0.2.0-201404260/libexec/../completions/jenv.bash: No such file or directory
MacBook-Pro:~ User$ cd '/Users/User/Desktop/' && '/usr/local/bin/pythonw'  '/Users/User/Desktop/PRAW_Script.py'  && echo Exit status: $? && exit 1
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/praw/decorators.py:77: DeprecationWarning: reddit intends to disable password-based authentication of API clients sometime in the near future. As a result this method will be removed in a future major version of PRAW.

For more information please see:

* Original reddit deprecation notice: https://www.reddit.com/comments/2ujhkr/

* Updated delayed deprecation notice: https://www.reddit.com/comments/37e2mv/

Pass ``disable_warning=True`` to ``login`` to disable this warning.
  warn(msg, DeprecationWarning)
Exit status: 0
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[Process completed]

Solution

  • Change this line:

    for comment in comments:
    

    to this:

    for comment in flat_comments:
    

    comments is a generator, and you've already consumed all the comments it generates by flattening. Trying to iterate over it after that won't yield any results.

    (You probably meant to use the flattened version anyway.)