يؤدي استخدام دليل تشغيل pipenv / somescript.py إلى فشل pipenv ، لأنه يبحث عن directory / somescript.py في PATH
$ python -V
Python 3.6$ pipenv --version
سيديقوم pipenv بتشغيل البرنامج النصي باستخدام بيئة افتراضية تم إنشاؤها
الخطوة 26/29: تشغيل ls $ PROJECT_PATH | grep setup.py
---> يعمل في 7811236ec5ee
setup.py
إزالة الحاوية الوسيطة 7811236ec5ee
—-> ba280fab02c3
الخطوة 27/29: تشغيل RUN pipenv قم بتشغيل $ PROJECT_PATH / setup.py developer
—-> يعمل في b48df28fbe12
خطأ: تعذر العثور على الأمر /opt/project/setup.py داخل PATH.
مقتطف من ملف الرصيف:
تشغيل ls $ PROJECT_PATH | grep setup.py
RUN pipenv قم بتشغيل $ PROJECT_PATH / setup.py Develop
وتغيير Dockerfile إلى:
ENV SHELL=/bin/bash
RUN pipenv shell -c "$PROJECT_PATH/setup.py develop; exit $?"
النتائج في
Spawning environment shell (/bin/bash). Use 'exit' to leave.
Traceback (most recent call last):
File "/usr/local/bin/pipenv", line 11, in <module>
load_entry_point('pipenv==9.0.3', 'console_scripts', 'pipenv')()
File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/pipenv/cli.py", line 2204, in shell
do_shell(three=three, python=python, fancy=fancy, shell_args=shell_args)
File "/usr/local/lib/python3.6/site-packages/pipenv/cli.py", line 2167, in do_shell
c.interact(escape_character=None)
File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/pexpect/pty_spawn.py", line 744, in interact
mode = tty.tcgetattr(self.STDIN_FILENO)
termios.error: (25, 'Inappropriate ioctl for device')
أعتقد أنه يمكنك تحقيق الشيء نفسه على الأرجح مع: pipenv run python -c "import this"
(فقط استبدل import this
بمنطقك).
jacekjab ، لا يمكنك تشغيل غلاف pipenv داخل Docker نظرًا لأنه لا يدعم الأصداف الفرعية كما هو مذكور في stacktrace. pipenv run
مخصص للنصوص / التطبيقات المثبتة على المسار مع تحديد shebang كيفية استخدامها.
في حالتك أعتقد أن ما تبحث عنه هو pipenv run python somescript.py
أو أضف كلمة shebang في الجزء العلوي من النص.
التعليق الأكثر فائدة
jacekjab ، لا يمكنك تشغيل غلاف pipenv داخل Docker نظرًا لأنه لا يدعم الأصداف الفرعية كما هو مذكور في stacktrace.
pipenv run
مخصص للنصوص / التطبيقات المثبتة على المسار مع تحديد shebang كيفية استخدامها.في حالتك أعتقد أن ما تبحث عنه هو
pipenv run python somescript.py
أو أضف كلمة shebang في الجزء العلوي من النص.