running a python script in Eric / or Atom

hello dear Community,

fairly new to python

opened a file - then eric (an ide that i have installed’) opened the code.
then the following messages popped up;:
Es ist kein Provider für Code Dokumentation registriert. Diese Funktion wurde deaktiviert.
wähle einen listeneintrag um die Konfigurationsseiteite zu sehen
Warning: translation file ‘git_de_DE’ could not be loaded. Using default.

what to do?




#!/usr/bin/env python3
"""
contacts.py
This program uses a Person class to keep track of contacts.
"""

class Person(object):
    """
    The Person class defines a person in terms of a
    name, phone number, and email address.
    """
    # Constructor
    def __init__(self, theName, thePhone, theEmail):
        self.name = theName 
        self.phone = thePhone
        self.email = theEmail
    # Accesser Methods (getters)
    def getName(self):
        return self.name
    def getPhone(self):
        return self.phone
    def getEmail(self):
        return self.email
    # Mutator Methods (setters)
    def setPhone(self, newPhoneNumber):
        self.phone = newPhoneNumber
    def setEmail(self, newEmailAddress):
        self.email = newEmailAddress
    def __str__(self):
        return "Person[name=" + self.name + \
               ",phone=" + self.phone + \
               ",email=" + self.email + \
               "]"

def enter_a_friend():
    name = input("Enter friend's name: ")
    phone = input("Enter phone number: ")
    email = input("Enter email address: ")
    return Person(name, phone, email)

def lookup_a_friend(friends):
    found = False
    name = input("Enter name to lookup: ")
    for friend in friends:
        if name in friend.getName():
            print(friend)
            found = True
    if not found:
        print("No friends match that term")

def show_all_friends(friends):
    print("Showing all contacts:")
    for friend in friends:
        print(friend)

def main():
    friends = ]
    running = True
    while running:
        print("
Contacts Manager")
        print("1) new contact    2) lookup")
        print("3) show all       4) end ")
        option = input("> ")
        if option == "1":
            friends.append(enter_a_friend())
        elif option == "2":
            lookup_a_friend(friends)
        elif option == "3":
            show_all_friends(friends)
        elif option == "4":
            running = False
        else:
            print("Unrecognized input. Please try again.")
    print("Program ending.")

if __name__ == "__main__":
    main()


if i do like so - in eric


1
    Python 3.7.1 (default, Oct 22 2018, 10:41:28)
2
    [GCC 8.2.1 20180831] auf martin-pc, Standard
3
    >>> contacts.py
4
    >>> Traceback (innermost last):
5
      File "<stdin>", line 1, in <module>
6
    NameError: name 'contacts' is not defined
    
   

what goes wrong here -

btw - do you recommend Atom over Eric!?

hello dear all - i have found out some issues.

The Python interpreter understands and accepts only Python commands. i was running contacts.py in the interpreter, which is not a Python command. That causes some issues.

i have had to do it the correct way: To run the code of the contacts.py file in Eric, simply open it and select Start > Run Script from the Eric main menu (I’m not using Eric, so this option might be a different one, just look at the main menu of the program for something similar).

**
From Python documentation:**
https://docs.python.org/3/library/exceptions.html?highlight=nameerror#NameError
**exception NameError
**Raised when a local or global name is not found. This applies only to unqualified names. The associated value is an error message that includes the name that could not be found.

now i started in eric the correct way and all goes well now,.

Confused here: you said you’re “fairly new” to Python. But you’ve asked about Python going back to 2010. And the errors you posted are in German. Glad you got it figured out, but why are you claiming to be “fairly new”, when you’ve been using it for 8 years?