Ada banyak tempat di mana kita bisa memanfaatkan Pathlib.
Cari tempat mana pun yang menggunakan with open(...)
dan tanyakan pada diri Anda:
Path()
,Jangan mencoba menggigit lebih dari yang bisa Anda kunyah (atau lebih dari yang bisa saya ulas), coba perbaiki 1 tempat pada satu waktu.
misalnya lihat https://github.com/ipython/ipython/pull/12512
Hai @Carreau , jika tidak ada yang mengerjakan /core/page.py untuk menggunakan Pathlib, dapatkah saya mengambil bagian ini?
Hai @Carreau , jika tidak ada yang mengerjakan /core/page.py untuk menggunakan Pathlib, dapatkah saya mengambil bagian ini?
Tentu, tolong. Terima kasih.
Hai, Saya ingin bekerja di core / interactiveshell.py dan menambahkan lebih banyak penggunaan Pathlib di sana.
Bisa saya bantu?
Hai @Carreau, bisakah saya mengikuti testing / iptestcontroller.py dan core / magics / execution.py?
Mungkin juga berguna: https://docs.python.org/3/library/pathlib.html#correspondence -to-tools-in-the-os-module
Ada banyak tempat selain with open()
yang mungkin menggunakan pengobatan pathlib:
- conda_history = os.path.join(sys.prefix, 'conda-meta', 'history')
- return os.path.exists(conda_history)
+ return Path(sys.prefix, 'conda-meta', 'history').exists()
Itu poin yang bagus.
Pada hari Sabtu, 10 Okt, 2020 pukul 20:33 Blazej Michalik [email protected]
menulis:
Mungkin juga berguna:
https://docs.python.org/3/library/pathlib.html#correspondence -to-tools-in-the-os-moduleAda banyak tempat selain open () yang mungkin menggunakan pathlib
pengobatan:
- conda_history = os.path.join (sys.prefix, 'conda-meta', 'history') - return os.path.exists (conda_history) + return Path (sys.prefix, 'conda-meta', 'history') .exists ()
-
Anda menerima ini karena Anda berkomentar.
Balas email ini secara langsung, lihat di GitHub
https://github.com/ipython/ipython/issues/12515#issuecomment-706630653 ,
atau berhenti berlangganan
https://github.com/notifications/unsubscribe-auth/ADMY5F73MJDQ6CL32KEUZS3SKD4LXANCNFSM4QNPWX2Q
.
Mungkin juga berguna: https://docs.python.org/3/library/pathlib.html#correspondence -to-tools-in-the-os-module
Ada banyak tempat selain
with open()
yang mungkin menggunakan pengobatan pathlib:
Meskipun ... beberapa di antaranya mungkin kurang sepele dan lebih rentan kesalahan, terutama saat ditafsirkan sebagai teks. Misalnya, ketika mengembalikan objek PosixPath
memecah kode dalam lingkup di atas karena itu menjadi ' '.join()
-ed dengan argumen shell lainnya.
Masih ada tempat tersisa untuk memperbaikinya? Sepertinya banyak orang sedang mengerjakannya.
edit: temukan beberapa, lupakan
Masih ada tempat tersisa untuk memperbaikinya? Sepertinya banyak orang sedang mengerjakannya.
Saya perlahan-lahan memeriksa PR dan menggabungkannya, saya tidak yakin apakah ada tempat lain yang tersisa.
Ada hal lain yang bisa Anda coba; temukan semua tempat yang menggunakan cast_unicode / cast_bytes, dan lihat apakah tempat tersebut dapat dilepas. Banyak di antaranya karena kompatibilitas Python 2 lama.
misalnya ada
def find_file(obj) -> str:
...
fname = None
try:
fname = inspect.getabsfile(obj)
except TypeError:
# For an instance, the file that matters is where its class was
# declared.
if hasattr(obj, '__class__'):
try:
fname = inspect.getabsfile(obj.__class__)
except TypeError:
# Can happen for builtins
pass
except:
pass
return cast_unicode(fname)
Jika Anda dapat membuktikan bahwa inspect.getabsfil
selalu mengembalikan str dan bukan byte, maka cast_unicode
tidak diperlukan. Ini sedikit lebih berhasil, tetapi itu akan membersihkan basis kode.
Saya mencari fungsi di seluruh proyek dan saya menemukan banyak dari mereka. Haruskah saya mempertimbangkan untuk mengganti semuanya dengan alternatif Pathlib atau file apa yang harus saya pertimbangkan untuk tidak mengganti fungsi?
Maaf jika saya tidak bisa membuat Anda mengerti apa yang ingin saya katakan.
Saya sedang mengerjakan paths.py
dan saya menemukan baris berikut dalam beberapa fungsi:
assert isinstance(ipdir, str)
Salah satu pernyataan seperti itu memberikan pesan yang mengatakan "all path manipulation should be str(unicode), but are not."
.
Haruskah saya menghapus baris seperti itu sehingga perpindahan ke pathlib dapat berfungsi?
Saya sedang mengerjakan
paths.py
dan saya menemukan baris berikut dalam beberapa fungsi:assert isinstance(ipdir, str)
Salah satu pernyataan seperti itu memberikan pesan yang mengatakan
"all path manipulation should be str(unicode), but are not."
.Haruskah saya menghapus baris seperti itu sehingga perpindahan ke pathlib dapat berfungsi?
Ya, beberapa tempat tidak berfungsi karena itu.
Halo semuanya, saya mencoba untuk meninjau semua PR, ada banyak yang menangani masalah ini, hati-hati beberapa dari Anda mengirim perubahan yang sudah ada PR lain yang dibuka.
Mengapa ini ditutup sekarang?
@meeseeksev terbuka
Awww, maaf ashwinvis Anda sepertinya tidak diizinkan melakukan itu, silakan tanyakan pada pengelola repositori.
Saya baru mengenal kontribusi open source dan ingin sekali menangani masalah ini. Setelah saya selesai dengan perubahan saya, apa cara termudah untuk menguji kode sebelum saya membuat PR?
Saya baru mengenal kontribusi open source dan ingin sekali menangani masalah ini. Setelah saya selesai dengan perubahan saya, apa cara termudah untuk menguji kode sebelum saya membuat PR?
Halo @darebat
Anda harus melakukan ini:
$ pip3 install -e .[test]
$ iptest
Saya ingin mengerjakan file test_run.py
. Namun, saya kesulitan mengatasi beberapa kesalahan dalam file itu. Dua kesalahan utama tersebut adalah
undefined variable get_ipython
(Yang ini diselesaikan dengan menambahkan impor tetapi tampaknya salah)
undefined variable _ip
: Dalam beberapa fungsi _ip
diinisialisasi sebagai _ip = get_ipython()
maka mendefinisikannya, tetapi dalam fungsi lain tidak diinisialisasi, sehingga menyebabkan kesalahan.
Saya telah menyiapkan lingkungan saya menggunakan pip install .
Saya hanya ingin tahu apakah saya membuat kesalahan saat menyiapkan lingkungan, atau apakah ada bug di file test_run.py
.
Saya telah menyiapkan lingkungan saya menggunakan
pip install
Anda harus menggunakan pip install -e .[test]
-e
berarti Anda menginstalnya dalam mode yang dapat diedit.
Halo! Ini adalah pertama kalinya saya berkontribusi pada proyek open source, saya ingin menangani masalah ini.
bisakah saya ditugaskan?
Komentar yang paling membantu
Halo semuanya, saya mencoba untuk meninjau semua PR, ada banyak yang menangani masalah ini, hati-hati beberapa dari Anda mengirim perubahan yang sudah ada PR lain yang dibuka.