Lingkungan Hidup
(pip Windows CI mengenai ini)
Deskripsi
Roda format PAX 0.34.1 sdists gagal untuk diinstal pada Python 2.7 pada Windows dengan UnicodeEncodeError, atau pada sistem non-Windows di lokasi non-utf-8: https://github.com/pypa/wheel/issues/331
Perilaku yang diharapkan
Nama file unicode dari tarball PAX dikodekan dengan benar untuk sistem file lokal.
Bagaimana cara bereproduksi
Mencoba menginstal tarball berformat PAX yang berisi nama file yang tidak dapat dikodekan ke halaman kode default (Windows) atau pengkodean lokal default (non-Windows).
Dalam tar GNU, jalur yang terpengaruh telah diubah menjadi sesuatu yang kompatibel dengan ASCII, tetapi tar PAX menyimpannya dengan benar, sehingga penginstal perlu menanganinya sendiri.
Keluaran
Lihat
https://dev.azure.com/pypa/pip/_build/results?buildId=18040&view=logs&j=404e6841-f5ba-57d9-f2c8-8c5322057572&t=0219f6bf-240d-5b08-c877-377b12af5079 untuk a&l=30 contoh di Windows rangkaian pengujian pip.
Masalah roda yang ditautkan di atas memiliki beberapa contoh Linux.
@ncoghlan Hanya FYI, masalah yang saya catat di https://github.com/pypa/wheel/issues/331 menggunakan Python 3.6 (jika ada kaitannya di sini).
Dalam proses membenarkan tidak memperbaiki ini, saya cukup menemukan cara untuk memperbaikinya. :( Lihat # 7668.
@johnthagen Ya, masalah pengkodean lokal non-universal yang saya sebutkan di https://github.com/pypa/pip/pull/7668#issuecomment -579706165 akan menerapkan Python 3 juga.
Namun 3.7+ menguranginya secara signifikan, karena mereka tidak mempercayai OS saat mengklaim menggunakan ASCII, dan secara otomatis beralih menggunakan UTF-8.
Komentar yang paling membantu
@johnthagen Ya, masalah pengkodean lokal non-universal yang saya sebutkan di https://github.com/pypa/pip/pull/7668#issuecomment -579706165 akan menerapkan Python 3 juga.
Namun 3.7+ menguranginya secara signifikan, karena mereka tidak mempercayai OS saat mengklaim menggunakan ASCII, dan secara otomatis beralih menggunakan UTF-8.