-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Open
Description
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
bbelderbos commentedon Aug 8, 2018
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)oviera5 commentedon Mar 7, 2019
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
bbelderbos commentedon Mar 7, 2019
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 useconfigparser
, 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
oviera5 commentedon Mar 8, 2019
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
oviera5 commentedon Mar 8, 2019
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
bbelderbos commentedon Mar 8, 2019
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.htmlDid Twitter grant you app permissions? I heard others did not get a quick respond or were rejected, so just curious.
Cheers
Bob
oviera5 commentedon Mar 10, 2019
Hey Bob,
Thanks for Martin's article.
Twitter response is around 25 to 30 seconds for the get_tweets function.
bbelderbos commentedon Dec 28, 2019
Hey @oviera5 how is it going? Anything we need to fix here?