Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why does the pip requirements file contain "@file" instead of version number?

I created the requirements.txt with pip freeze > requirements.txt. Some modules show the @file..... instead of the version #. What does it mean and why it show?

Conda: 4.8.3

Here is the result of requirements.txt. e.g. astroid, flask-admin, matplotlib shows "@ file" below

astroid @ file:///opt/concourse/worker/volumes/live/b22b518b-f584-4586-5ee9-55bfa4fca96e/volume/astroid_1592495912194/work
bcrypt==3.1.7
blinker==1.4
certifi==2020.6.20
cffi==1.14.0
click==7.1.2
cycler==0.10.0
dnspython==1.16.0
ecdsa==0.13
email-validator @ file:///home/conda/feedstock_root/build_artifacts/email_validator_1589962946737/work
flake8==3.8.3
Flask==1.1.2
Flask-Admin @ file:///tmp/build/80754af9/flask-admin_1592429635880/work
Flask-Bcrypt==0.7.1
Flask-Login==0.5.0
Flask-Mail==0.9.1
flask-msearch==0.2.9
Flask-SQLAlchemy==2.4.3
Flask-WTF==0.14.3
gunicorn==20.0.4
idna==2.9
importlib-metadata==1.6.1
isort==4.3.21
itsdangerous==1.1.0
Jinja2==2.11.2
kiwisolver==1.2.0
lazy-object-proxy==1.4.3
MarkupSafe==1.1.1
matplotlib @ file:///Users/runner/miniforge3/conda-bld/matplotlib-base_1592576116805/work
mccabe==0.6.1
mkl-fft==1.1.0
mkl-random==1.1.1
mkl-service==2.3.0
numpy==1.18.5
pandas @ file:///opt/concourse/worker/volumes/live/38d1301c-8fa9-4d2f-662e-34dddf33b183/volume/pandas_1592841668171/work
psycopg2==2.8.4
pycodestyle @ file:///home/conda/feedstock_root/build_artifacts/pycodestyle_1589305246696/work
pycparser==2.20
pycryptodome==3.9.7
pyflakes==2.2.0
pylint @ file:///opt/concourse/worker/volumes/live/42ede439-2571-4cb2-513c-394625d2381b/volume/pylint_1592496039330/work
pyparsing==2.4.7
python-dateutil==2.8.1
pytz==2020.1
six @ file:///home/conda/feedstock_root/build_artifacts/six_1590081179328/work
SQLAlchemy==1.3.17
toml @ file:///tmp/build/80754af9/toml_1592853716807/work
tornado==6.0.4
typed-ast==1.4.1
Werkzeug==1.0.1
wrapt==1.11.2
WTForms==2.3.1
xlrd==1.2.0
zipp==3.1.0

Here is the conda list

astroid                   2.4.2                    py37_0    anaconda
bcrypt                    3.1.7            py37h9bfed18_1    conda-forge
blas                      1.0                         mkl    anaconda
blinker                   1.4                        py_1    conda-forge
ca-certificates           2020.1.1                      0    anaconda
certifi                   2020.6.20                py37_0    anaconda
cffi                      1.14.0           py37h356ff06_0    conda-forge
click                     7.1.2                      py_0    anaconda
cycler                    0.10.0                     py_2    conda-forge
dnspython                 1.16.0                     py_1    conda-forge
ecdsa                     0.13                       py_0    conda-forge
email_validator           1.1.1              pyh9f0ad1d_0    conda-forge
flake8                    3.8.3                      py_0    anaconda
flask                     1.1.2                      py_0    anaconda
flask-admin               1.5.4                      py_0    anaconda
flask-bcrypt              0.7.1                      py_1    conda-forge
flask-login               0.5.0                      py_0    anaconda
flask-mail                0.9.1                      py_2    conda-forge
flask-msearch             0.2.9                    pypi_0    pypi
flask-sqlalchemy          2.4.3                    pypi_0    pypi
flask-wtf                 0.14.3                     py_0    anaconda
freetype                  2.10.2               h8da9a1a_0    conda-forge
gmp                       6.2.0                h4a8c4bd_2    conda-forge
gunicorn                  20.0.4                   py37_0    anaconda
idna                      2.9                        py_1    conda-forge
importlib-metadata        1.6.1                    py37_0    anaconda
intel-openmp              2020.1                      216    anaconda
isort                     4.3.21                   py37_0    anaconda
itsdangerous              1.1.0                    py37_0    anaconda
jinja2                    2.11.2                     py_0    anaconda
kiwisolver                1.2.0            py37ha1cc60f_0    conda-forge
krb5                      1.16.4               hddcf347_0    anaconda
lazy-object-proxy         1.4.3            py37h1de35cc_0    anaconda
libcxx                    10.0.0                        1  
libedit                   3.1.20191231         haf1e3a3_0  
libffi                    3.2.1                h0a44026_6  
libgfortran               3.0.1                h93005f0_2    anaconda
libpng                    1.6.37               hbbe82c9_1    conda-forge
libpq                     11.2                 h051b688_0    anaconda
markupsafe                1.1.1            py37h1de35cc_0    anaconda
matplotlib                3.2.2                         0    conda-forge
matplotlib-base           3.2.2            py37hddda452_0    conda-forge
mccabe                    0.6.1                    py37_1    anaconda
mkl                       2019.4                      233    anaconda
mkl-service               2.3.0            py37hfbe908c_0    anaconda
mkl_fft                   1.1.0            py37hc64f4ea_0    anaconda
mkl_random                1.1.1            py37h959d312_0    anaconda
ncurses                   6.2                  h0a44026_1  
numpy                     1.18.5           py37h1da2735_0    anaconda
numpy-base                1.18.5           py37h3304bdc_0    anaconda
openssl                   1.1.1g               h1de35cc_0    anaconda
pandas                    1.0.5            py37h959d312_0    anaconda
pip                       20.1.1                   py37_1  
psycopg2                  2.8.4            py37ha12b0ac_0    anaconda
pycodestyle               2.6.0              pyh9f0ad1d_0    conda-forge
pycparser                 2.20                       py_0    conda-forge
pycryptodome              3.9.7            py37h51495b9_1    conda-forge
pyflakes                  2.2.0                      py_0    anaconda
pylint                    2.5.3                    py37_0    anaconda
pyparsing                 2.4.7              pyh9f0ad1d_0    conda-forge
python                    3.7.6                h359304d_2  
python-dateutil           2.8.1                      py_0    anaconda
python_abi                3.7                     1_cp37m    conda-forge
pytz                      2020.1                     py_0    anaconda
readline                  7.0                  h1de35cc_5  
setuptools                47.3.1                   py37_0  
six                       1.15.0             pyh9f0ad1d_0    conda-forge
sqlalchemy                1.3.17                   pypi_0    pypi
sqlite                    3.32.3               hffcf06c_0  
tk                        8.6.10               hb0a8c7a_0  
toml                      0.10.1                     py_0    anaconda
tornado                   6.0.4            py37h9bfed18_1    conda-forge
typed-ast                 1.4.1            py37h1de35cc_0    anaconda
werkzeug                  1.0.1                      py_0    anaconda
wheel                     0.34.2                   py37_0  
wrapt                     1.11.2           py37h1de35cc_0    anaconda
wtforms                   2.3.1                      py_0    anaconda
xlrd                      1.2.0                    py37_0    anaconda
xz                        5.2.5                h1de35cc_0  
zipp                      3.1.0                      py_0    anaconda
zlib                      1.2.11               h1de35cc_3  

Finally I plan to deploy app in Heroku, so I thought that requirements.txt may be required.

like image 355
nahi Avatar asked Jun 26 '20 02:06

nahi


People also ask

How do you use a requirements TXT file with pip?

The most common command is pip freeze > requirements. txt , which records an environment's current package list into requirements. txt. If you want to install the dependencies in a virtual environment, create and activate that environment first, then use the Install from requirements.

Can you upgrade pip in requirements txt?

txt file? As Andy mentioned in his answer packages are pinned to a specific version, hence it is not possible to upgrade packages through pip command.


Video Answer


1 Answers

This is a special syntax (supported since pip 19.1) to install packages from VCS repositories :

package_name @ git+https://githost/<repo>.git@<commit_id>

See https://pip.readthedocs.io/en/stable/reference/pip_install/#requirement-specifiers and https://www.python.org/dev/peps/pep-0440/#direct-references

like image 138
phd Avatar answered Oct 18 '22 09:10

phd