يبدو أن --target
غير مدعوم عند استخدام --editable
في نفس الوقت. سيكون من الجيد أن تعمل. وفي الوقت نفسه يجب أن يكون هناك بعض التشخيص أفضل مثل
c:\>pip install -t z:\1 -e git+https://github.com/kennethreitz/requests.git#egg=requests
النتائج في
Obtaining requests from git+https://github.com/kennethreitz/requests.git#egg=requests
Updating c:\python\virtualenv\test\src\requests clone
Running setup.py egg_info for package requests
Downloading/unpacking certifi>=0.0.7 (from requests)
Running setup.py egg_info for package certifi
Downloading/unpacking oauthlib>=0.1.0,<0.2.0 (from requests)
Running setup.py egg_info for package oauthlib
Downloading/unpacking chardet>=1.0.0 (from requests)
Running setup.py egg_info for package chardet
Downloading/unpacking rsa (from oauthlib>=0.1.0,<0.2.0->requests)
Running setup.py egg_info for package rsa
warning: no files found matching 'README'
Downloading/unpacking pyasn1>=0.0.13 (from rsa->oauthlib>=0.1.0,<0.2.0->requests)
Running setup.py egg_info for package pyasn1
Installing collected packages: requests, certifi, oauthlib, chardet, rsa, pyasn1
Running setup.py develop for requests
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: option --home not recognized
Complete output from command c:\python\virtualenv\test\Scripts\python.exe -c "import setuptools; __file__='c:\\python\\virtualenv\\test\\src\\requests\\setup.py'; exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" develop --no-deps --home=c:\users\piotr\appdata\local\temp\tmp3abskl:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: option --home not recognized
----------------------------------------
Command c:\python\virtualenv\test\Scripts\python.exe -c "import setuptools; __file__='c:\\python\\virtualenv\\test\\src\\requests\\setup.py'; exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" develop --no-deps --home=c:\users\piotr\appdata\local\temp\tmp3abskl failed with error code 1 in c:\python\virtualenv\test\src\requests
Storing complete log in C:\Users\Piotr\AppData\Roaming\pip\pip.log
حدوث هذا الخطأ مع pip install -t dir -e git+git://github.com/shazow/urllib3.git@f088037#egg=urllib3
أيضًا.
لقد واجهت هذا الخطأ الآن.
يبدو أن هذا يحدث في أي حزمة إذا تم دمج --target
و --editable
:
pip calls setup.py develop --home ...
، لكن --home
قابل للتطبيق فقط مع setup.py install
.
لذلك ، اكتشفت في النهاية أن استخدام الخيار --src
مع الحزم القابلة للتعديل بدلاً من --target
يفعل ما أريد.
ربما يجب أن يكون لـ --target
نفس تأثير --src
عند تحديد --editable
أو يمكن أن يعرض للمستخدم رسالة خطأ وربما يوجه المستخدم إلى --src
.
ربما يجب أن يكون للهدف --target نفس تأثير --src عند تحديد - قابل للتحرير
IMO سيؤدي السلوك المتوقع إلى إنشاء / تحديث easy_install.pth في الدليل target
.
لقد واجهت نفس المشكلة للتو. كما اقترح jezdez ، يمكنك
git+ssh://[email protected]/some-user/some-repo.git#egg=Foo
أرى مشكلة مماثلة هنا بنفسي:
Cleaning up...
Exception:
Traceback (most recent call last):
File "/efs/dev/bti/pip/1.3.1-build001/install/exec/2.7/lib/python/pip-1.3.1-py2.7.egg/pip/basecommand.py", line 139, in main
status = self.run(options, args)
File "/efs/dev/bti/pip/1.3.1-build001/install/exec/2.7/lib/python/pip-1.3.1-py2.7.egg/pip/commands/install.py", line 291, in run
for item in os.listdir(lib_dir):
OSError: [Errno 2] No such file or directory: '/tmp/tmppjdGHI/lib/python'
السطر 290 في النقطة / الأوامر / install.py هو:
lib_dir = home_lib(temp_target_dir)
من خلال ما يمكنني تتبعه ، قامت النقطة بالفعل بتنظيف هذا المسار في pip / req.py line 1194 حيث تزيل المصدر المؤقت.
requirement.remove_temporary_source()
أستطيع أن أرى ترك هذا التنظيف هناك كما هو ولكن تغليفه بكتلة موجودة أو حاول أن يستمر التثبيت. هل يرى أي شخص ذلك على أنه مشكلة؟
tima لدي نفس المشكلة مع دليل lib. من المفترض أن Pip HEAD أصلحت هذا ولكن على الأقل في CentOS ، لا تزال المشكلة قائمة. في هذه الحالة بالذات ، يوجد دليل lib64 بدلاً من دليل lib.
لدي نفس المشكلة باستخدام --target
(لكن ليس --editable
).
هذا هو التتبع الخاص بي -
Exception:
Traceback (most recent call last):
File "/Users/beaum/homebrew/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/basecommand.py", line 139, in main
status = self.run(options, args)
File "/Users/beaum/homebrew/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/commands/install.py", line 294, in run
for item in os.listdir(lib_dir):
OSError: [Errno 2] No such file or directory: '/var/folders/00/1hyxr000h01000cxqpysvccm0063vq/T/tmpc_E_Bl/lib/python'
+1 ،
تنزيل PyYAML-3.10.tar.gz (241 كيلوبايت): تم تنزيل 241 كيلوبايت تشغيل setup.py egg_info لحزمة pyyaml تخطي امتداد "ext / _yaml.c" Cython (محدث) تثبيت الحزم المجمعة: krcore، sympy، pyparsing، pyyaml تشغيل setup.py Develop for krcore الاستخدام: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] أو: -c --help [cmd1 cmd2 ...] أو: -c - help-command أو: -c cmd --help خطأ: الخيار - المنزل غير معروف الإخراج الكامل من الأمر / usr / bin / python -c "استيراد setuptools ؛ __ ملف __ = '/ tmp / krapp / src / krcore / setup.py' ؛ exec (تجميع (فتح (__ ملف __). قراءة (). استبدل ('\ r \ n '،' \ n ')، __file__،' exec ')) "تطوير - no-deps --home = / tmp / tmpvKaRYp: الاستخدام: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] أو: -c --help [cmd1 cmd2 ...] أو: -c - help-command أو: -c cmd --help خطأ: الخيار - المنزل غير معروف ---------------------------------------- تنظيف... الأمر / usr / bin / python -c "import setuptools ؛ __file __ = '/ tmp / krapp / src / krcore / setup.py' ؛ exec (compile (open (__ file __). read (). replace ('\ r \ n '،' \ n ')، __file__،' exec ')) "تطوير - no-deps --home = / tmp / tmpvKaRYp فشل مع رمز الخطأ 1 في / tmp / krapp / src / krcore
أحصل على "خطأ: الخيار - لم يتم التعرف على الصفحة الرئيسية" عند استخدام --target with -r (--requirements)
: +1:
تسبب اتباع الحل البديل jezdez في:
خطأ: يجب توفير إما home أو البادئة / exec-prefix - وليس كلاهما
- خيارات قابلة للتعديل و - لا تعمل معًا
لقد كنت أواجه نفس المشكلة ...
أحاول استخدام النقطة لتثبيت حزم Python في موقع مخصص (وليس Virtualenv) وأحتاج إلى واحد منهم (الذي أعمل عليه) ليكون قابلاً للتعديل.
من المحتمل أن يكون هذا مرتبطًا بـ https://github.com/pypa/setuptools/issues/392
ونظرًا لأن أمر نقطة واحدة يمكنه تشغيل كل من setup.py develop
(لـ pkg القابل للتعديل) و setup.py install
(التبعيات) ، فإن الحل الوحيد (القبيح جدًا) الذي يمكنني التفكير فيه هو إصدار أمرين:
--no-deps
سيكون أكثر نظافة إذا لم تكن هناك حاجة لتغيير خيارات سطر أوامر النقطة الأخرى سواء تم تمرير --editable
أم لا.
لذلك أعتقد أن هناك طريقتان لجعل هذا يعمل:
--home
ie. تحديد https://github.com/pypa/setuptools/issues/392. ربما تكون صعبة ، قراءة تفاصيل هذه المسألة؟--target
مختلف اعتمادًا على ما إذا كان يستدعي setup.py develop
أو setup.py install
. ربما أبسط؟الحصول على تفاصيل أداة إعداد النقطة المجردة وتنفيذ سلوك
--target
مختلف اعتمادًا على ما إذا كان يستدعيsetup.py develop
أوsetup.py install
. ربما أبسط؟
تكمن الصعوبة الأكبر في هذا الخيار في أن النقطة تعمل على تجريد تفاصيل نظام الإنشاء (setuptools) بحيث تعمل الحلول ذات الحالة الخاصة لمشكلات setuptools ضد هذا الهدف.
في النهاية تمكنت من فعل ما أريد ، باستخدام --prefix
، وبدون استخدام أي مخصص --install-option
، لذا يمكنني أخيرًا استخدام نفس الخيارات سواء مررت --editable
أم لا .
ومع ذلك ، فقد اضطررت إلى تعديل تخطيطي الحالي (دبيان) بطريقة ما لمطابقة النقطة الافتراضية (حزم الموقع) ، نظرًا لعدم وجود خيار نقطة لتحديد التخطيط ...
ربما ميزة للنظر في الإضافة؟
تضمين التغريدة
هذا يحتاج إلى تسمية --target option
.
هل يمكن لأي شخص أن يشارك ما هو أفضل حل بديل لاستخدام الخيارين -e و -t؟ هل تقترح استخدام أدوات التوزيع لأنها تدعم خيار "المنزل"؟
أى اخبار؟
ما زلت أستخدم --editable
مع --prefix
(بدلاً من --target
) الذي يقوم بالمهمة نيابة عني. لكنني عالق عند النقطة <9.0.0 بسبب الاختلاف بين --prefix
و --target
. مزيد من التفاصيل في https://github.com/pypa/pip/issues/4243
إذا كنت تريد استخدام الخيار --prefix بدلاً من --target ، فأنت بحاجة إلى تعيين PYTHONPATH
(يشير إلى حزم الموقع التي سيتم إنشاؤها) dir بشكل صحيح قبل أن تتمكن من الاتصال بـ pip -t . --prefix myprefix
. هل هناك طريقة أنيقة للتحايل على هذا؟
الإغلاق لنقل مجموعة من القضايا ذات الصلة إلى عدد واحد: # 4390.
أود أن أضيف أن هذه مشكلة لمطوري Google Appengine الذين يحتاجون إلى تثبيت تبعياتهم في دليل في جذر التطبيق ولكنهم يحتاجون أيضًا إلى نشر تبعية قابلة للتعديل في عملية دفع محلية كجزء من عملية ضمان الجودة. أثناء وضعه ، سيحتاج الملف القابل للتحرير إلى الارتباط الرمزي يدويًا وهو أمر مرهق.
تم قفل سلسلة الرسائل هذه تلقائيًا نظرًا لعدم وجود أي نشاط حديث بعد إغلاقه. الرجاء فتح قضية جديدة للأخطاء ذات الصلة.
التعليق الأكثر فائدة
أود أن أضيف أن هذه مشكلة لمطوري Google Appengine الذين يحتاجون إلى تثبيت تبعياتهم في دليل في جذر التطبيق ولكنهم يحتاجون أيضًا إلى نشر تبعية قابلة للتعديل في عملية دفع محلية كجزء من عملية ضمان الجودة. أثناء وضعه ، سيحتاج الملف القابل للتحرير إلى الارتباط الرمزي يدويًا وهو أمر مرهق.