Python Using Databases in Python Gettin' CRUD-y With It View and Search Entries

Luis Barahona
Luis Barahona
4,466 Points

./diary.py - Nothing happens, in fact it says there is an error. Any help?

terminal question. I can't seem to follow along when it comes to enter inputs on the terminal window. What am I missing?

Steven Parker
Steven Parker
203,731 Points

You'll need to show your code so we can take a look. Use Markdown formatting when pasting in code, or share the entire workspace by making a snapshot and posting the link to it.

3 Answers

Jeff Muday
MOD
Jeff Muday
Treehouse Moderator 24,891 Points

Not sure if this is your issue, but there is a bit of difference between Python 2.7.x and Python 3.x in terms of console input.

On Python 2.7.x:

name = raw_input("What is your name: ")

On Python 3.x

name = input("What is your name: ")
Luis Barahona
Luis Barahona
4,466 Points

Hi Steven and Jeff, when i go to the console/workspace and type ./diary.py I get back /usr/bin/env: 'python3\r': No such file or directory

Jeff Muday
MOD
Jeff Muday
Treehouse Moderator 24,891 Points

Treehouse workspaces are set up for Python3 by default now. You probably know some of this stuff below already, so if I am misinterpreting your question, I apologize in advance!

If you just want to run the code (and it is in your current directory), then type

$ python diary.py

Running as a script -- is OPTIONAL, but nice to know.

Linux and MacOSX terminal environments can vary quite a bit. On some Python 2.x is default, on others Python 3.x is default. So you will have to know a little about the local environment to get this working correctly.

This doesn't apply to Windows, as Python is not "native"... but easily installed at least.

If you want to run the file directly, you have to have a "shebang" and the absolute path to the python executable on the first line of the program. You also have to the execute flag set.

To find the python version and location:

treehouse:~/workspace$ python --version                                                   
Python 3.6.4                                                                              
treehouse:~/workspace$ which python                                                       
/usr/local/bin/python

The first line of your program MUST be this

#!/usr/local/bin/python

By default, a Python file created in a workspace is not set to be executable and then you have to change the execute flag on it:

note when I list the diary file, initially, its mask is set -rw-r--r--

I use the "chmod" program with +x argument

and the ready-to-run file mask is set -rwx-r-xr-x

treehouse:~/workspace$ ls -la diary.py                                                                 
-rw-r--r--. 1 treehouse users 47 May 20 17:10 diary.py                                                 
treehouse:~/workspace$ chmod +x diary.py                                                               
treehouse:~/workspace$ ls -la diary.py                                                                 
-rwxr-xr-x. 1 treehouse users 47 May 20 17:10 diary.py     

Now you should be able to run the program directly:

$ ./diary.py

I hope this helps!