pip установка файла tar.gz из удаленного репозитория github - PullRequest
0 голосов
/ 21 марта 2020

Я написал пакет python для работы, который я первоначально опубликовал в PYPI. Все работало отлично, я мог установить и использовать все модули, которые я написал. Все было хорошо. Через несколько минут я понял, что в пакете может быть конфиденциальная информация, поэтому неопубликованная, глупая я / новая глупость разработчика.

Затем я решил, что самым простым способом будет взять файл tar.gz - - генерируется в папке dist при запуске python3 setup.py sdist bdist_wheel - и добавляет это в частное репозиторий github моей компании.

Я добавил файл, зафиксировал, а затем попытался выполнить следующую команду:

pip install git+ssh://git@github.com/company_github/my_repo.git@commithash

И получите следующее сообщение об ошибке:

 ERROR: Command errored out with exit status 1:
     command: /Users/me/opt/anaconda3/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/78/bn32jmyx0350cdp7cc_3t2ym0000gn/T/pip-req-build-qqbm6_ox/setup.py'"'"'; __file__='"'"'/private/var/folders/78/bn32jmyx0350cdp7cc_3t2ym0000gn/T/pip-req-build-qqbm6_ox/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/78/bn32jmyx0350cdp7cc_3t2ym0000gn/T/pip-req-build-qqbm6_ox/pip-egg-info
         cwd: /private/var/folders/78/bn32jmyx0350cdp7cc_3t2ym0000gn/T/pip-req-build-qqbm6_ox/
    Complete output (5 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/Users/me/opt/anaconda3/lib/python3.7/tokenize.py", line 447, in open
        buffer = _builtin_open(filename, 'rb')
    FileNotFoundError: [Errno 2] No such file or directory: '/private/var/folders/78/bn32jmyx0350cdp7cc_3t2ym0000gn/T/pip-req-build-qqbm6_ox/setup.py'
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

Что именно я делаю неправильно? Нужно ли добавлять файл setup.py в ту же папку, где находится мой файл tar.gz? Или есть что-то, что мне нужно сделать с файлом требований -> невозможно установить, пока не будут установлены все зависимости?

Можно ли напрямую pip install тарболить? Я тоже сделал это,

pip install https://github.com/company_github/my_repo/my_package.tar.gz  

, но получил ERROR: HTTP error 404, сказав, что файл не найден.

Любая помощь или направление высоко ценится!

РЕДАКТИРОВАТЬ:

Вот структура файла:

    .
    ├── CF_dev_emr_cluster.yaml
    ├── DeepAR\ Model\ Input\ Check\ (json).ipynb
    ├── __init__.py
    ├── anomaly
    │   ├── MAD.py
    │   └── __init__.py
    ├── batch_transform
    │   ├── batch_transform.py
    │   ├── generic_batch_transform.py
    │   ├── get_time_series_as_rows.py
    │   └── post_batch_transform.py
    ├── dev_env
    │   ├── CF_dev_emr_cluster_m5d.yaml
    │   ├── CF_dev_emr_cluster_r5d.yaml
    │   └── new_cluster_v2.sh
    ├── digital_logging.py
    ├── hive_table_checker
    │   ├── __init__.py
    │   └── hive_table_checker.py
    ├── metadata_io
    │   ├── README.md
    │   ├── __init__.py
    │   ├── manage_metadata.py
    │   ├── model_record_example.py
    │   └── tests
    │       ├── __init__.py
    │       └── test_manage_metadata.py
    ├── parquet_converter
    │   ├── CF_parquet_emr_cluster_m5d.yaml
    │   ├── DAGs
    │   │   ├── monthly_parquet_convert_v1.5.py
    │   │   ├── monthly_parquet_convert_v1.6.py
    │   │   └── utils
    │   │       └── check_partitions.py
    │   ├── __init__.py
    │   ├── dist_parquet_converter.sh
    │   ├── dist_parquet_copy.sh
    │   ├── dist_spark_parquet_converter.sh
    │   ├── parquet_config.json
    │   ├── parquet_converter.py
    │   ├── parquet_emr_connection_update.sh
    │   ├── parquet_final_copy.sh
    │   ├── parquet_start_stack.sh
    │   ├── patef_schema.json
    │   ├── ptef_schema.json
    │   └── readme.md
    ├── pyspark_visualizer
    │   └── visualizer.py
    ├── readme.md
    ├── setup.py
    ├── testfile.txt
    └── tests
        ├── __init__.py
        ├── airflow_testing
        │   ├── __init__.py
        │   └── dag_test
        │       ├── __init__\ 3.py
        │       ├── __init__.py
        │       ├── test_dag_pytest\ 2.py
        │       └── test_dag_pytest.py
        ├── config.py
        └── test_airflow_dags.py

    13 directories, 49 files
...