Setel aplikasi buka-dengan default ke program Python di Mac

1

Saya menggunakan aplikasi open source UliPad untuk mengedit file teks yang direstrukturisasi (pertama). Ini adalah aplikasi Python yang saya luncurkan melalui Terminal seperti:

python32 UliPad.py

Saya memiliki python32alias untuk menginstal Python di komputer saya. Saya sudah menginstal beberapa versi.

Pertama saya ingin cara meluncurkan UliPadseperti aplikasi OS X lainnya. Tidak begitu yakin bagaimana melakukan ini.

Kedua, saya ingin mengatur semua .rstfile untuk dibuka UliPad.py. Apakah ada cara untuk melakukan ini? Saya tahu cara memilih aplikasi default di Finder tetapi tidak yakin bagaimana memilih UliPad sebagai aplikasi itu.

Vincent
sumber

Jawaban:

2

Untuk pertanyaan kedua Anda, menurut Cara mengaitkan ekstensi ".exe" yang akan dibuka dengan Mono? , Anda memerlukan .appbundel:

Rupanya, ketika menggunakan GUI Finder's, hanya .appfile ( bundel aplikasi ) yang dapat dipilih.

Jika itu berlaku untuk skrip Python juga, maka jawaban saya pada pertanyaan itu mungkin membantu, dengan untuk Langkah 5:

5.Ganti echo "$f"denganpython32 UliPad.py "$f"

Jadi, singkatnya, buat "aplikasi" Automator untuk menjalankan skrip Shell berikut:

PYTHON = / Library / Frameworks / Python.framework / Versi / 6.1 / bin / python /
ULIPAD = / Pengguna / vmd / Dropbox / Ulipad / UliPad.py
jika [$ # -eq 0]
kemudian
  # Tidak ada parameter yang lulus; jalankan saja tanpa file:
  $ PYTHON $ ULIPAD
lain
  # Jalankan instance untuk setiap file:
  untuk f dalam "$ @"
  melakukan
    $ PYTHON $ ULIPAD "$ f"
  selesai
fi

... atau mungkin Anda dapat mengirimkan beberapa file UliPad.pysekaligus:

PYTHON = / Library / Frameworks / Python.framework / Versi / 6.1 / bin / python /
ULIPAD = / Pengguna / vmd / Dropbox / Ulipad / UliPad.py
$ PYTHON $ ULIPAD "$ @"

Adapun pertanyaan pertama Anda: Anda harus dapat menggunakan "aplikasi" Automator yang sama untuk memulai UliPad tanpa membuka file apa pun (jika memang Anda hanya perlu menjalankannya tanpa parameter, seperti yang saya asumsikan di atas).

Arjan
sumber
@ Arjan, Terima kasih, saya tidak yakin apakah Automator menggunakan .bash-profile dengan python alias "python32", saya akhirnya menggunakan path aktual ke python, dan tentu saja path sebenarnya diperlukan untuk ulipad.py yaitu untuk f di "$ @" do /Library/Frameworks/Python.framework/Versions/6.1/bin/python/ /Users/vmd/Dropbox/Ulipad/UliPad.py "$ f" selesai
Vincent
@Vincent, senang itu berhasil. Saya menambahkan tambahan if [ $# -eq 0 ]jika tidak ada file yang dipilih. Itu akan membuat "aplikasi" dimulai jika Anda hanya mengklik dua kali .appbundel dari Finder.
Arjan
Pembaruan yang bagus. Satu hal yang saya perhatikan adalah bahwa "gigi" automator di bilah menu terus berputar setelah ulipad membuka file. yaitu Automator terus berjalan jadi saya pikir itu perlu saya tutup. Saya mungkin bisa mencari cara, tetapi Anda dapat menambahkannya ke jawaban yang bagus ini.
Vincent
@Vincent, Anda mungkin bisa mengelak dengan menjalankan Python di latar belakang. Itu memberi kontrol Automator segera. Tambahkan ampersand ( &) setelah dua baris perintah untuk melakukannya. Jadi: $PYTHON $ULIPAD &dan $PYTHON $ULIPAD "$f" &. Terima kasih telah melaporkan kembali!
Arjan