загрузка пипса без выполнения setup.py - PullRequest
0 голосов
/ 24 сентября 2018

Как загрузить дистрибутив, возможно, 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, потому чтоЯ не хочу исключать исходные дистрибутивы.Я просто хочу избежать выполнения их исходного кода.

...