هل يمكنني استخدام Accept على نظام التشغيل Windows دون تثبيت Cygwin؟

StackOverflow https://stackoverflow.com/questions/1042778

  •  22-07-2019
  •  | 
  •  

سؤال

التوقع عبارة عن وحدة تستخدم لإنشاء التطبيقات الفرعية والتحكم فيها.أنا مهتم ببايثون وروبي.

هل كانت مفيدة؟

المحلول

هنالك نتوقع لبيثون.

ملاحظات في wexpect.py الملف (الأخطاء المطبعية لم تتغير وتم إضافة التمييز)

ونتوقع هو منفذ pexpext لنظام التشغيل Windows.نظرًا لأن Python for Windows يفتقر إلى الوحدات النمطية المطلوبة (pty ، tty ، select ، termios ، fctnl ، والموارد) لتشغيل pexpect ، كان من الضروري إنشاء خلفية تنفذ أي وظائف تم استخدامها التي تعتمد على هذه الوحدات. Wtty.py هل هذه هي النهاية الخلفية.في وحدات التحكم في Windows World ليست متجانسة.يمكنهم استخدام وظائف المدخلات والإخراج ذات المستوى المنخفض أو العالي ، والتعامل بشكل صحيح مع كلتا الحالتين يتم إنشاء عمليتين للطفل من أجل instacne من تفرخ ، مع طفل متداخل يمكنه القراءة بشكل مستمر من وحدة التحكم ، وإرسال تلك البيانات عبر الأنبوب إلى مثيل WTTY. Spawner.py هو قابلة للتطبيق من بيانات القراءة والأنابيب.

لقد تركت أكبر قدر ممكن من الكود ، وحاولت أيضًا ترك العديد من التعليقات سليمة ممكنة (من الناحية النظرية للوظائف التي لم يتم تغييرها) ، لأن الكثير من التعليقات ستكون مضللة في علاقتها بوظائف OS المحددة.أيضًا، لا يتم تفكيك الوظائف في SendControl و Sendeof في هذا الوقت ، حيث لم أتمكن من العثور على إصدارات Windows ذات معنى من هذه الوظائف.
بالإضافة إلى ذلك ، لا تحتوي لوحات المفاتيح على واصفات FILD المرتبطة على Windows ، وبالتالي فإن متغير Global Child_FD لن يكون دائمًا.

نصائح أخرى

وwinpexpect هو منفذ الأصلي من pexpect إلى Windows. ويمكن العثور عليها هنا:

https://github.com/geertj/winpexpect

ويمكنك استخدام موجه ويندوز CMD.

وتحتاج إلى أن يكون بيثون المثبتة في تثبيت ويندوز الخاص بك.

وافتح موجه cmd ثم تنفيذ الأمر أدناه:

وC:\Users\xxx>pip install pexpect (إذا قمت بضبط مسار بيثون في متغير النظام)

أو

C:\Users\xxx>c:\python27\scripts\pip.exe install pexpect

Collecting pexpect
  Downloading pexpect-4.0.1.tar.gz (143kB)
    100% |################################| 147kB 1.2MB/s
Collecting ptyprocess>=0.5 (from pexpect)
  Downloading ptyprocess-0.5.1-py2.py3-none-any.whl
Building wheels for collected packages: pexpect
  Running setup.py bdist_wheel for pexpect
  Stored in directory: C:\Users\xxx\AppData\Local\pip\Cache\wheels\f2\65\89\09578bcd0efeabc7e2b0079cd62d3955c1477f2e55aa5031a4
Successfully built pexpect
Installing collected packages: ptyprocess, pexpect
Successfully installed pexpect-4.0.1 ptyprocess-0.5.1

وأحدث نسخة عمل wexpect يعيش في HTTP: // حكيم. math.washington.edu/home/goreckc/sage/wexpect/

ونأمل أن يتم دمج المنبع قريبا.

استخدم بيكسبيكت https://github.com/pexpect/pexpect

"Pexpect هو Python خالص" لذلك سيتم تشغيله في أي مكان، بدون Cygwin أيضًا،

يحرر:يعتمد Pexpect على وحدة PTY المتوفرة حاليًا لنظام التشغيل Linux فقط نيك اقترح عليك استخدام wexpect وهو منفذ pexpect

ولقد استعملت بنجاح Pexpect تحت سيغوين. في الوقت الراهن لا توجد وسيلة أخرى بسبب مشاكل التوافق POSIX ويندوز.

وشيء آخر: WExpect تعمل مثل Pexpect، في واقع الأمر يتطلب سيغوين! عند هذه النقطة، PExpect هو الخيار الأفضل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top