Używam systemu MAC OS Catalina w wersji 10.15.1 i pracuję nad projektem w języku Python. Za każdym razem, gdy używam polecenia „import OS” w wierszu poleceń w wersji 2.10 (433), pojawia się następujący komunikat: zsh: command not found: import. Wyszukałem i zastosowałem wiele rozwiązań wymienionych dla tego problemu, ale żadne z nich nie zadziałało. Polecenie działało przed aktualizacją mojego systemu MAC OS. Jakieś sugestie, jak to naprawić?

1
Rick 20 listopad 2019, 16:02
1
Ta wiadomość nie pochodzi z Pythona. Czy zamiast tego korzystasz z wiersza poleceń zsh? Wiersz poleceń Pythona to nie to samo, co wiersz poleceń zsh.
 – 
Amadan
20 listopad 2019, 16:06
Moje echo $PATH to: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
 – 
Rick
20 listopad 2019, 16:08

2 odpowiedzi

Plik jest interpretowany jako zsh, a nie python. Proponuję dodać to do pierwszej linii:

#!/usr/bin/env python

1
Ramon Medeiros 20 listopad 2019, 16:03
Oto komentarz, który otrzymuję po wykonaniu tej czynności: zsh: nie znaleziono zdarzenia: /usr/bin/env
 – 
Rick
20 listopad 2019, 16:05
Spróbuj #!/usr/bin/python
 – 
Ramon Medeiros
20 listopad 2019, 16:06
1
To byłaby wiadomość, której oczekiwałbym, jeśli zapomnisz, że # (tzn. !/usr/bin/env python wyszuka /usr/bin/env zdarzenie, #!/usr/bin/env python, gdy pierwsza linia programu działa /usr/bin/env python <script>.)
 – 
Amadan
20 listopad 2019, 16:08

Nie wykorzystuj tego.

import os

0
rej 20 listopad 2019, 16:06
Jest małymi literami, gdy robię to w wierszu poleceń, ale nadal otrzymuję ten sam błąd
 – 
Rick
20 listopad 2019, 16:07
Nie do końca przeczytałem pytanie. Wygląda na to, że nie jesteś w wierszu poleceń Pythona, ale w zsh
 – 
rej
20 listopad 2019, 16:10
Używam zsh. To jest to, czego potrzebuję, aby wykonać program, który próbuję uruchomić. To jest polecenie, które będę musiał wprowadzić po „zaimportowaniu systemu operacyjnego”: python find_sender.py message.eml
 – 
Rick
20 listopad 2019, 16:12
Ok, więc używasz powłoki i próbujesz uruchomić program. Gdzie wchodzi import os?
 – 
rej
20 listopad 2019, 16:14
1
Twoja pamięć płata ci figle. import sys i sys.path.append są poleceniami Pythona i mogą być używane tylko w programie Pythona (takim jak find_sender.py) lub w konsoli Pythona. python find_sender.py to polecenie powłoki, które może być używane tylko w powłoce systemowej (takiej jak zsh) i służy do uruchamiania programu w Pythonie. Uruchamianie dwóch pierwszych przed ostatnim nie ma sensu i nie może działać. Wyobraź sobie, że próbujesz kupić jabłko przed pójściem do supermarketu. Nie możesz kupować jabłek w domu i nie możesz import przed uruchomieniem Pythona.
 – 
Amadan
21 listopad 2019, 08:50