How to create a requirements.txt file in Django project?

Question:

I have been trying to create a requirements.txt file from the Pycharm terminal but it is adding all unnecessary packages as well. What should I do to show only used packages?
Thanks,
requirements.txt:

aiohttp==3.7.3
aioredis==1.3.1 alabaster==0.7.12 anaconda-client==1.7.2
anaconda-navigator==1.9.12 anaconda-project==0.8.3 appdirs==1.4.4
appnope==0.1.0 argh==0.26.2 asgiref==3.3.1 asn1crypto==1.3.0
astroid==2.4.2 astropy==4.0.1.post1 async-timeout==3.0.1
atomicwrites==1.4.0 attrs==19.1.0 autobahn==21.2.1 Automat==20.2.0
autopep8 @ file:///tmp/build/80754af9/autopep8_1592412889138/work
Babel==2.8.0 backcall==0.1.0 backports.functools-lru-cache==1.6.1
backports.shutil-get-terminal-size==1.0.0 backports.tempfile==1.0
backports.weakref==1.0.post1 bcrypt==3.1.7 beautifulsoup4==4.9.1
bitarray @ file:///C:/ci/bitarray_1594751092677/work bkcharts==0.2
bleach==3.1.0 bokeh @ file:///C:/ci/bokeh_1593183652752/work
boto==2.49.0 Bottleneck==1.3.2 brotlipy==0.7.0 bs4==0.0.1
certifi==2020.6.20 cffi==1.13.1 channels==3.0.3 channels-redis==3.2.0
chardet==3.0.4 cheroot==8.5.2 Click==7.0 cloudpickle @
file:///tmp/build/80754af9/cloudpickle_1594141588948/work
clyent==1.2.2 colorama==0.4.4 comtypes==1.1.7 conda==4.8.3
conda-build==3.18.11 conda-package-handling==1.7.0 conda-verify==3.4.2
constantly==15.1.0 contextlib2==0.6.0.post1 cryptography==3.4.6
cycler==0.10.0 Cython @ file:///C:/ci/cython_1594830140812/work
cytoolz==0.10.1 daphne==3.0.1 dask @
file:///tmp/build/80754af9/dask-core_1594156306305/work
decorator==4.4.0 defusedxml==0.6.0 diff-match-patch @
file:///tmp/build/80754af9/diff-match-patch_1594828741838/work
distlib==0.3.1 distributed @
file:///C:/ci/distributed_1594747837674/work dj-database-url==0.5.0
dj-rest-auth==2.1.3 Django==3.1.5 django-admin-honeypot==1.1.0
django-allauth==0.44.0 django-bootstrap4==0.0.5 django-channels==0.7.0
django-crispy-forms==1.11.0 django-defender==0.8.0
django-heroku==0.3.1 django-honeypot==0.9.0 django-tastypie==0.14.3
djangorestframework==3.12.2 dnspython==1.15.0 docutils==0.16
entrypoints==0.3 et-xmlfile==1.0.1 Faker==0.8.13 fastcache==1.1.0
filelock==3.0.12 flake8==3.7.8 Flask==0.12.4 Flask-Bcrypt==0.7.1
Flask-Cors==3.0.3 Flask-JWT-Extended==3.7.0 Flask-Login==0.4.0
fsspec==0.7.4 future==0.18.2 gevent @
file:///C:/ci/gevent_1593010772244/work glob2==0.7 gmpy2==2.0.8
greenlet==0.4.16 gunicorn==20.0.4 h5py==2.10.0 HeapDict==1.0.1
hiredis==1.1.0 html5lib @
file:///tmp/build/80754af9/html5lib_1593446221756/work
hyperlink==21.0.0 idna @
file:///tmp/build/80754af9/idna_1593446292537/work imageio @
file:///tmp/build/80754af9/imageio_1594161405741/work imagesize==1.2.0
importlib-metadata==0.23 incremental==17.5.0 intervaltree @
file:///tmp/build/80754af9/intervaltree_1594361675072/work
ipykernel==5.1.3 ipython==7.8.0 ipython-genutils==0.2.0
ipywidgets==7.5.1 isort==5.7.0 itsdangerous==1.1.0
jaraco.functools==3.1.0 jdcal==1.4.1 jedi==0.15.1 Jinja2==2.10.3
joblib @ file:///tmp/build/80754af9/joblib_1594236160679/work
json5==0.9.5 jsonschema==3.1.1 jupyter==1.0.0 jupyter-client==5.3.1
jupyter-console==6.0.0 jupyter-core==4.4.0 jupyterlab==2.1.5
jupyterlab-server @
file:///tmp/build/80754af9/jupyterlab_server_1594164409481/work
keyring @ file:///C:/ci/keyring_1593109210108/work kiwisolver==1.2.0
lazy-object-proxy==1.4.3 libarchive-c==2.9 llvmlite==0.32.1
locket==0.2.0 lxml @ file:///C:/ci/lxml_1594826940903/work
MarkupSafe==1.1.1 matplotlib @
file:///C:/ci/matplotlib-base_1592844891112/work mccabe==0.6.1
menuinst==1.4.16 mistune==0.8.4 mkl-fft==1.1.0 mkl-random==1.1.1
mkl-service==2.3.0 mock==4.0.2 more-itertools==7.2.0 mpmath==1.1.0
msgpack==1.0.0 multidict==5.0.2 multipledispatch==0.6.0
navigator-updater==0.2.1 nbconvert==5.6.0 nbformat==4.4.0 networkx @
file:///tmp/build/80754af9/networkx_1594377231366/work nltk @
file:///tmp/build/80754af9/nltk_1592496090529/work node==0.9.25
nose==1.3.7 notebook==6.0.1 numba==0.49.1 numexpr==2.7.1 numpy==1.18.5
numpydoc @ file:///tmp/build/80754af9/numpydoc_1594166760263/work
oauthlib==3.1.0 odict==1.7.0 olefile==0.46 openpyxl @
file:///tmp/build/80754af9/openpyxl_1594167385094/work packaging==20.4
pandas @ file:///C:/ci/pandas_1592841744841/work pandocfilters==1.4.2
paramiko==2.7.1 parso==0.5.1 partd==1.1.0 path==13.1.0 pathlib2==2.3.5
pathtools==0.1.2 patsy==0.5.1 pep8==1.7.1 pexpect==4.7.0
pickleshare==0.7.5 Pillow @ file:///C:/ci/pillow_1594304973959/work
pipenv==2020.11.15 pkginfo==1.5.0.1 pluggy==0.6.0 plumber==1.6
ply==3.11 prometheus-client==0.7.1 prompt-toolkit==2.0.10
psutil==5.7.0 psycopg2==2.8.6 ptyprocess==0.6.0 py==1.8.0
pyasn1==0.4.8 pyasn1-modules==0.2.8 pycodestyle==2.5.0 pycosat==0.6.3
pycparser==2.19 pycurl==7.43.0.5 pydocstyle @
file:///tmp/build/80754af9/pydocstyle_1592848020240/work
pyflakes==2.1.1 pygame==2.0.1 Pygments==2.4.2 PyHamcrest==2.0.2
PyJWT==1.7.1 pylint==2.6.0 pymongo==3.7.2 PyNaCl @
file:///C:/ci/pynacl_1595009196976/work pyodbc===4.0.0-unsupported
pyOpenSSL @ file:///tmp/build/80754af9/pyopenssl_1594392929924/work
pyparsing==2.4.7 PyQt5==5.15.2 PyQt5-sip==12.8.1 pyreadline==2.1
pyrsistent==0.15.4 PySocks==1.7.1 pytest==3.3.0 pytest-flask==0.11.0
python-dateutil==2.8.0 python-decouple==3.4 python-jsonrpc-server @
file:///tmp/build/80754af9/python-jsonrpc-server_1594397536060/work
python-language-server @
file:///C:/ci/python-language-server_1594154480810/work
python-mimeparse==1.6.0 python3-openid==3.2.0 pytz==2020.1
PyWavelets==1.1.1 pywin32==227 pywin32-ctypes==0.2.0 pywinpty==0.5.7
PyYAML==5.3.1 pyzmq @
file:///C:/Users/Rashidov/Desktop/mflix-python/pyzmq-22.0.3-cp38-cp38-win32.whl
QDarkStyle==2.8.1 QtAwesome==0.7.2 qtconsole==4.5.5 QtPy==1.9.0
redis==3.5.3 regex @ file:///C:/ci/regex_1593435678736/work requests @
file:///tmp/build/80754af9/requests_1592841827918/work
requests-oauthlib==1.3.0 rope==0.17.0 Rtree==0.9.4
ruamel-yaml==0.15.87 scikit-image==0.16.2 scikit-learn @
file:///C:/ci/scikit-learn_1592863447244/work scipy @
file:///C:/ci/scipy_1592916961137/work seaborn==0.10.1
selenium==3.141.0 Send2Trash==1.5.0 service-identity==18.1.0
simplegeneric==0.8.1 simplejson==3.17.2 singledispatch==3.4.0.3
sip==4.19.13 six==1.12.0 snowballstemmer==2.0.0
sortedcollections==1.2.1 sortedcontainers==2.2.2 soupsieve==2.0.1
Sphinx @ file:///tmp/build/80754af9/sphinx_1594223420021/work
sphinxcontrib-applehelp==1.0.2 sphinxcontrib-devhelp==1.0.2
sphinxcontrib-htmlhelp==1.0.3 sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.3 sphinxcontrib-serializinghtml==1.1.4
sphinxcontrib-websupport @
file:///tmp/build/80754af9/sphinxcontrib-websupport_1593446360927/work
spyder @ file:///C:/ci/spyder_1594820234642/work spyder-kernels @
file:///C:/ci/spyder-kernels_1594744028846/work SQLAlchemy @
file:///C:/ci/sqlalchemy_1593446777599/work sqlparse==0.4.1
statsmodels==0.11.1 sympy @ file:///C:/ci/sympy_1594234724630/work
tables==3.6.1 tblib==1.6.0 telepot==12.7 terminado==0.8.3
testpath==0.4.2 text-unidecode==1.2 textblob==0.15.3 threadpoolctl @
file:///tmp/tmp9twdgx9k/threadpoolctl-2.1.0-py3-none-any.whl
toml==0.10.2 toolz==0.10.0 tornado==6.0.3 tqdm @
file:///tmp/build/80754af9/tqdm_1593446365756/work traitlets==4.3.3
Twisted @
file:///C:/Users/Rashidov/Desktop/chat_app/Twisted-20.3.0-cp38-cp38-win32.whl
txaio==21.2.1 typing-extensions @
file:///tmp/build/80754af9/typing_extensions_1592847887441/work
ujson==1.35 unicodecsv==0.14.1 urllib3==1.25.9 virtualenv==20.3.0
virtualenv-clone==0.5.4 watchdog @
file:///C:/ci/watchdog_1593447396356/work wcwidth==0.1.7 web.py==0.62
webencodings==0.5.1 Werkzeug==0.16.0 whitenoise==5.2.0
widgetsnbextension==3.5.1 win-inet-pton==1.1.0
win-unicode-console==0.5 wincertstore==0.2 wrapt==1.12.1 xlrd==1.2.0
XlsxWriter==1.2.9 xlwings==0.19.5 xlwt==1.3.0 xmltodict==0.12.0 yapf @
file:///tmp/build/80754af9/yapf_1593528177422/work yarl==1.6.3
zict==2.0.0 zipp==0.6.0 zope.component==4.6.2
zope.deferredimport==4.3.1 zope.deprecation==4.4.0 zope.event==4.4
zope.hookable==5.0.1 zope.interface==4.7.1 zope.lifecycleevent==4.3
zope.proxy==4.3.5

Asked By: Agabyok

||

Answers:

Check out this Snakefood

Especially the command sfood-imports which finds and lists import statements in python project

So it is not depended on your env but rather on the code that you wrote

Answered By: codemaster
pip freeze > requirements.txt
Answered By: vladthelad

Run python -m pip freeze or pip freeze to show only used packages.

And create file with command:

pip freeze > requirements.txt
Answered By: Nguyễn Vũ Thiên

With "pipreqs", you can create a requirements.txt in Django project:

So, install "pipreqs":

pip install pipreqs

Then, run this short command below in the root directory of your Django project to create a requirements.txt:

pipreqs
Answered By: Kai – Kazuya Ito