يؤدي تنفيذ أي أمر autojump عادي في Windows إلى هذا:
Traceback (most recent call last):
File "C:\Program Files (x86)\CowShell\Vendor\AutoJump\bin\\autojump", line 320, in <module>
sys.exit(main(parse_arguments()))
File "C:\Program Files (x86)\CowShell\Vendor\AutoJump\bin\\autojump", line 314, in main
['.'])))
File "C:\Program Files (x86)\CowShell\Vendor\AutoJump\bin\autojump_utils.py", line 42, in first
return it.next()
File "C:\Program Files (x86)\CowShell\Vendor\AutoJump\bin\autojump_match.py", line 86, in <lambda>
flags=regex_flags,
File "F:\Programs\Python\lib\re.py", line 146, in search
return _compile(pattern, flags).search(string)
File "F:\Programs\Python\lib\re.py", line 251, in _compile
raise error, v # invalid expression
sre_constants.error: unexpected end of regular expression
ECHO is off.
التغيير المميز هنا: https://github.com/wting/autojump/commit/7c7865ea7ecfd937284f774fb0818c5cc10c340a#diff -4b97c2fd2ae952c567c1646bc80e5d43L78
يؤدي إلى خلل في أنظمة Windows.
الحل المقترح هو تغيير الأسطر 78-80 في autojump_match.py إلى:
sep = '\\\\' if os.sep == '\\' else os.sep
regex_no_sep = '[^' + sep + ']*'
regex_no_sep_end = regex_no_sep + '$'
regex_one_sep = regex_no_sep + sep + regex_no_sep
(الإعداد الشرطي لقيمة الفاصل المستخدمة في بناء regex)
مرحبا شكرا لتقرير الخطأ المفصل!
لسوء الحظ ، لا يمكنني الوصول إلى جهاز يعمل بنظام Windows. هل يمكنك تحديث اختبارات Windows هذه بحيث تقوم بإعادة إنتاج الخطأ الذي لديك؟ بهذه الطريقة يمكننا منع أخطاء الانحدار في المستقبل.
مجرد محاولة للقفز التلقائي على Win10 وضرب هذا. يبدو أن التصحيح المقترح يعمل بالنسبة لي.
wting إذا لم يتم تنفيذ الاختبارات فعليًا على Windows ، ألن تلتقط اختبارات match_consecutive os.sep
الخطأ؟ لن تفشل الاختبارات فعليًا ما لم يكن os.sep شرطة مائلة للخلف.
يمكنك السخرية منه لإجراء اختبارات مثل:
In [1]: import os, mock
In [2]: os.sep
Out[2]: '/'
In [3]: with mock.patch.object(os, 'sep', '\\'):
...: print(os.sep)
...:
\
كان لدي نفس المشكلة والإصلاح المقترح حل المشكلة. أعتقد أن الحل البديل هو إجراء الاختبارات على منصة windows CI مثل appveyor.
فوز 10 64 ، نفس المشكلة. عملت تغيير autojump_match.py. شكرا لكم.
نظام Window 10 احترافي ، لقد قابلت هذه المشكلة اليوم .... ويعمل التصحيح المقترح مثل السحر! شكرا جزيلا. أنا فقط أتساءل لماذا لم يتم دمج التصحيح في الماجستير بينما مرت أربع سنوات؟
التعليق الأكثر فائدة
نظام Window 10 احترافي ، لقد قابلت هذه المشكلة اليوم .... ويعمل التصحيح المقترح مثل السحر! شكرا جزيلا. أنا فقط أتساءل لماذا لم يتم دمج التصحيح في الماجستير بينما مرت أربع سنوات؟