Shapely: Windows dibangun di atas PyPI

Dibuat pada 19 Feb 2016  ·  14Komentar  ·  Sumber: Toblerity/Shapely

Shapely saat ini tidak memiliki roda biner untuk Windows di PyPI. Saya tidak begitu beruntung dan harus menggunakannya di tempat kerja. Saya telah bermain-main dengan AppVeyor baru-baru ini untuk proyek lain dan berpikir tidak akan sulit untuk menjalankan tes seperti yang dilakukan Travis untuk kita sekarang di Linux, dan juga untuk menghasilkan roda biner sebagai artefak. @pelson sudah membuatnya bekerja dengan conda ( https://anaconda.org/scitools/shapely ) jadi seharusnya tidak banyak usaha untuk menghasilkan roda. @sgillies Jika saya mengatur ini, dapatkah Anda mengunggah hasilnya?

binaries packaging windows

Komentar yang paling membantu

Saya ingin menyuarakan dukungan untuk ini juga! pip install shapely benar-benar hanya perlu bekerja.

Jika pip dapat berfungsi setelah menginstal GEOS, maka satu set langsung petunjuk pemasangan GEOS dalam dokumen instalasi yang indah akan sangat membantu.

Saya baru-baru ini mengalami beberapa masalah dengan lingkungan Conda yang tidak cocok dengan pip jadi saya mencoba beralih ke hanya menggunakan pip saja dan Shapely adalah salah satu perpustakaan yang mengingatkan saya mengapa saya beralih ke conda. Agar proses pip berfungsi, satu-satunya opsi mudah saya adalah mendapatkan roda dari https://www.lfd.uci.edu/~gohlke/pythonlibs/ seperti yang direkomendasikan dalam dokumen indah. Saya ingin dapat menstandarisasi tim saya di tempat kerja untuk menggunakan satu versi file lingkungan terkontrol seperti requirements.txt atau environment.yml, tetapi masalah seperti ini membuat lebih sulit untuk mengandalkan PyPI.

Semua 14 komentar

@snorfalorpagus ya. Saya juga bisa memberi Anda izin untuk mengunggah ke PyPI jika Anda mau.

Jika Anda ingin melihat bagaimana biner AppVeyor Shapely dibangun, lihat https://github.com/conda-forge/shapely-feedstock. Memang, jika salah satu dari Anda ingin memiliki hak penggabungan pada repo itu, ada bagian pengelola resep yang dengan senang hati saya gabungkan PR dengan nama Anda di dalamnya: https://github.com/conda-forge/shapely-feedstock /blob/master/recipe/meta.yaml#L40.

Saya juga akan menyukai ini, terutama jika itu berarti dilengkapi dengan GEOS DLL yang cocok. Ada kemajuan di sini?

Untuk beberapa waktu saya membangun binari Shapely secara manual dan mengunggahnya ke PyPI. Saya berhenti melakukan itu setelah saya kehilangan lingkungan build Windows saya dan memulai pekerjaan baru. Saya sekarang memiliki lingkungan Windows lagi dan saya akan dengan senang hati melakukan pembuatan manual dan mengunggah rilis saat ini ke PyPI.

Beberapa bulan yang lalu saya melihat masalah ini dan mulai bermain-main dengan AppVeyor. Saya membuat beberapa kemajuan, dan saya mungkin punya waktu lagi untuk melanjutkan jika tidak ada yang mau menangani masalah ini.

Fiona memiliki build AppVeyor yang menghasilkan artefak roda termasuk DLL yang diperlukan. Kita harus dapat menggunakan ini sebagai template untuk Shapely.

https://github.com/Toblerity/Fiona/blob/master/appveyor.yml

Saya ingin menyuarakan dukungan untuk ini juga! pip install shapely benar-benar hanya perlu bekerja.

Jika pip dapat berfungsi setelah menginstal GEOS, maka satu set langsung petunjuk pemasangan GEOS dalam dokumen instalasi yang indah akan sangat membantu.

Saya baru-baru ini mengalami beberapa masalah dengan lingkungan Conda yang tidak cocok dengan pip jadi saya mencoba beralih ke hanya menggunakan pip saja dan Shapely adalah salah satu perpustakaan yang mengingatkan saya mengapa saya beralih ke conda. Agar proses pip berfungsi, satu-satunya opsi mudah saya adalah mendapatkan roda dari https://www.lfd.uci.edu/~gohlke/pythonlibs/ seperti yang direkomendasikan dalam dokumen indah. Saya ingin dapat menstandarisasi tim saya di tempat kerja untuk menggunakan satu versi file lingkungan terkontrol seperti requirements.txt atau environment.yml, tetapi masalah seperti ini membuat lebih sulit untuk mengandalkan PyPI.

@sgillies Bisakah Anda menambahkan Shapely ke akun appveyor Anda seperti yang telah dilakukan untuk Fiona?

Mungkin! Saya sedikit kekurangan waktu hingga Mei, tetapi akan membuat catatan.

Misalnya scikit-learn menggunakan appveyor di sebelah multibuild dalam repo scikit-learn-wheels mereka: https://github.com/MacPython/scikit-learn-wheels (mirip dengan repo fiona-wheels menurut saya), jadi itu juga bisa pendekatan untuk menyalin.

Kami benar-benar perlu memiliki roda Windows jika tidak, kami tidak dapat menggunakan Shapely https://github.com/biolab/orange3-bioinformatics/issues/152. Bagaimana saya dapat membantu agar roda Windows tersedia?

Sementara itu seseorang mencari tahu solusi appveyor/github actions/ ..., itu mungkin juga menjadi opsi untuk rilis saat ini untuk mengunggah roda Christoph Gohlke untuk windows? (jika itu memiliki izinnya, tentu saja, cc @cgohlke)

Saya sangat ingin melihat ini diselesaikan, karena saya melihat beberapa proyek yang ingin bergantung pada rupawan, tetapi ragu-ragu karena kurangnya kemampuan Windows asli untuk melakukan: pip install shapely

Namun, saya baru mengenal AppVeyor dan Azure Pipelines, dan tidak yakin ke mana harus mengarahkan upaya. Saya bermain dengan AppVeyor, dan berhasil membuat .whl files , yang merupakan awal yang baik. Tetapi tampaknya banyak proyek saat ini bermigrasi ke Azure Pipelines, tetapi saya tidak yakin mengapa. Setiap hasutan dari orang-orang yang telah menggunakan layanan ini dipersilakan!

Ping ke siapa pun yang mengikuti masalah ini.

Setelah hampir 4 tahun, kami akhirnya memiliki roda biner Windows beta untuk diuji! Dari Windows non-anaconda Prompt dengan Python biasa di PATH, instal paket beta menggunakan:

python3 -m venv venv
venv\Scripts\activate.bat

python -m pip install shapely==1.7b1

Dan uji mereka:

python -c "import shapely; print(shapely.__version__)"
python -c "from shapely.geos import geos_version_string; print(geos_version_string)"
python -c "from shapely import speedups; assert speedups.enabled"

Ikuti #818 untuk umpan balik atau masalah apa pun. Jika tidak ada, kami mungkin merilis 1.7.0 besok.

Perhatikan juga bahwa roda biner Window tidak tersedia untuk Python 2.7, karena ini adalah prioritas yang terlalu rendah.


Setelah ini, cara biasa untuk menginstal shapely adalah pip install shapely .

(Orang-orang Conda mungkin masih ingin menggunakan conda install shapely )

Apakah halaman ini membantu?
0 / 5 - 0 peringkat