Visitar URL original
parse error · Issue #20 · talkpython/100daysofcode-with-python-course · GitHub
Skip to content

parse error #20

Description

@prasadseemakurthi

The default code throws an error and below code fixes it

def get_movies_by_director():
directors = defaultdict(list)
with open(MOVIE_DATA, encoding='utf-8') as f:
for line in csv.DictReader(f):
try:
director = line['director_name']
movie = line['movie_title'].replace('\xa0', '')
if line['title_year']:
year = int(line['title_year'])
else:
year = 0
if line['imdb_score']:
score = float(line['imdb_score'])
else:
score = 0
except ValueError:
continue

        m = Movie(title=movie, year=year, score=score)
        directors[director].append(m)
return directors

Activity

  1. bbelderbos commented on Aug 8, 2018

    @bbelderbos
    Collaborator

    Hey @prasadseemakurthi, I'd like to understand the issue please? What error did you get? What Python version are you using?
    Seems encoding should be fine with encoding='utf-8' (previous issue: #3)

  2. oviera5 commented on Mar 7, 2019

    @oviera5

    I receive the following error when entering the pvenv alias:
    "dyld: Library not loaded: @rpath/libpython3.6m.dylib
    Referenced from: /Users/orlandov/test01/venv/bin/python
    Reason: image not found
    ERROR: The executable /Users/orlandov/test01/venv/bin/python is not functioning
    ERROR: It thinks sys.prefix is '/Users/orlandov/test01' (should be '/Users/orlandov/test01/venv')
    ERROR: virtualenv is not compatible with this system or executable"

    The alias setting is: alias pvenv='virtualenv -p /Users/orlandov/anaconda/bin/python venv'

    As you can see, I have anaconda installed.

    Could I proceed with the assignment, but just not have my Twitter API keys as part of my activate script? Just have them listed in my python code? I know its not the secure way, but I will delete them once I am done with the assignment. Unless you can see from my error message what could be the cause, and the solution.

    Thanks,
    Orlando Viera

  3. bbelderbos commented on Mar 7, 2019

    @bbelderbos
    Collaborator

    Hey Orlando,

    Do you also have Python natively installed as well? If so you can try to create a virtual environment with python -m venv venv.

    Using a virtual env is recommended to not clutter your global env with project specific packages (in this case tweepy).

    For the keys you could consider setting them in your .bashrc (from the paths above I assume you are on *nix), or use configparser, see an example here - as long as you don't commit your secret keys to version control :)

    Btw let me know if you have any issues creating an app through the Twitter API obtaining keys, because it seems Twitter made this less accessible recently :(

    Let me know if I can help you further to progress this lesson.

    HTH
    Bob

  4. oviera5 commented on Mar 8, 2019

    @oviera5

    Bob,

    I have Anaconda install and running python -m venv venv gives me the same error that you received in the video:
    "Error: Command '['/Users/orlandov/test01/venv/bin/python', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.".

    As for obtaining keys from Twitter API, there is an additional form to fill out before they grant you the information.

    I will proceed with using Anaconda. I was able to install tweepy and wordcloud. I will figure out how to set my keys in an conda virtual environment. Hopefully its as easy as setting them in a virtualenv environment.

    Thanks

  5. oviera5 commented on Mar 8, 2019

    @oviera5

    I was able to set up my conda virtual environment variables by following the steps: https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#saving-environment-variables

  6. bbelderbos commented on Mar 8, 2019

    @bbelderbos
    Collaborator

    Hey Orlando, glad you got that part working.

    I forgot to share Martin's article about Anaconda including using its conda command to make a virtual environment. Maybe you want to try it out: https://pybit.es/guest-anaconda-workflow.html

    Did Twitter grant you app permissions? I heard others did not get a quick respond or were rejected, so just curious.

    Cheers
    Bob

  7. oviera5 commented on Mar 10, 2019

    @oviera5

    Hey Bob,

    Thanks for Martin's article.

    Twitter response is around 25 to 30 seconds for the get_tweets function.

  8. bbelderbos commented on Dec 28, 2019

    @bbelderbos
    Collaborator

    Hey @oviera5 how is it going? Anything we need to fix here?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions