Как загрузить дистрибутив, возможно, sdist, без потенциального выполнения файла setup.py
(который может содержать вредоносный код)?
Я не хочу рекурсивно получать зависимости, загрузите только один файл дляуказанное распределение.Попытка, которая не работает:
pip download --no-deps mydist
Пример, демонстрирующий setup.py
, все еще выполняется в приведенном выше случае:
$ pip --version # pip v18.0 on Python 3.7.0 / Linux
pip 18.0 from /tmp/.venv/lib/python3.7/site-packages/pip (python 3.7)
$ pip download --no-deps suds
Collecting suds
Downloading https://files.pythonhosted.org/packages/bc/d6/960acce47ee6f096345fe5a7d9be7708135fd1d0713571836f073efc7393/suds-0.4.tar.gz (104kB)
100% |████████████████████████████████| 112kB 10.2MB/s
Saved ./suds-0.4.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-download-56eyyp0s/suds/setup.py", line 20, in <module>
import suds
File "/tmp/pip-download-56eyyp0s/suds/suds/__init__.py", line 154, in <module>
import client
ModuleNotFoundError: No module named 'client'
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-download-56eyyp0s/suds/
Я не могу использовать опцию --no-binary
, потому чтоЯ не хочу исключать исходные дистрибутивы.Я просто хочу избежать выполнения их исходного кода.