У меня есть программа на Python «Alfred.py», которую я хочу запустить, щелкнув значок или напечатав «Alfred» в терминале. Он подключен к файлу базы данных и извлекает файлы Excel по запросу. Когда я пытаюсь запустить его, нажимая, вот что я получаю:
mcaay:~ mcaay$ /Users/mcaay/Documents/Moje\ Dokumenty/MANTA/Alfred/Alfred.desktop ; exit;
/Users/mcaay/Documents/Moje Dokumenty/MANTA/Alfred/Alfred.desktop: line 1: [Desktop: command not found
Traceback (most recent call last):
File "/Users/mcaay/Documents/Moje Dokumenty/MANTA/Alfred/Alfred.py", line 59, in <module>
AND Usterka IS NOT NULL;""")
sqlite3.OperationalError: no such table: repairs
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
[Process completed]
Эта строка:
sqlite3.OperationalError: no such table: repairs
означает, что Alfred.py не нашел файл .db, создал его, но он был пуст, поэтому не было таблицы с именем "repair". Этот файл .db находится в том же каталоге, что и Alfred.py.
Что я делал до сих пор:
- добавлено "#! / Usr / bin / env python3" в качестве 1-й строки Alfred.py
- набрал "chmod + x / Users / mcaay / Documents / Moje \ Документы / MANTA / Alfred / Alfred.py" в терминале, чтобы сделать его исполняемым
- добавлено "export PATH = $ PATH: / Users / mcaay / Documents / Moje \ Dokumenty / MANTA / Alfred /" в мой .bash_profile, чтобы сделать Alfred.py доступным из любого места в терминале
- создан файл Alfred.desktop для интерактивного значка:
[Desktop Entry]
Name=Alfred
Exec=python3 /Users/mcaay/Documents/Moje\ Dokumenty/MANTA/Alfred/Alfred.py
Terminal=true
Type=Application
- сделал Alfred.desktop исполняемым, набрав в терминале «chmod + x / Users / mcaay / Documents / Moje \ Документы / MANTA / Alfred / Alfred.desktop»
Когда я набираю в терминале "Alfred.py", я получаю:
mcaay:~ mcaay$ Alfred.py
Traceback (most recent call last):
File "/Users/mcaay/Documents/Moje Dokumenty/MANTA/Alfred/Alfred.py", line 59, in <module>
AND Usterka IS NOT NULL;""")
sqlite3.OperationalError: no such table: repairs
Так же, как и при нажатии «Alfred.desktop».
Если я наберу просто «Альфред», я получу:
mcaay:~ mcaay$ Alfred
-bash: Alfred: command not found
Я хочу, чтобы просто набрал «Альфред», и я хочу, чтобы он правильно видел базу данных и другие файлы, или, в противном случае, если щелчок по значку будет работать правильно, это тоже приемлемо. Мой Гуге-Фу подвел меня здесь. Что делать?
P.S. Я заметил, что файл базы данных создается в моем домашнем каталоге ("/ Users / mcaay"), как будто Alfred.py был извлечен из исходного места назначения в какое-то временное место назначения и выполнено там (другие файлы не были извлечены, поэтому программа потерпела крах).