如何在 Django 项目中创建 requirements.txt 文件?

Posted

技术标签:

【中文标题】如何在 Django 项目中创建 requirements.txt 文件?【英文标题】:How to create a requirements.txt file in Django project? 【发布时间】:2021-06-15 07:11:59 【问题描述】:

我一直在尝试从 Pycharm 终端创建一个 requirements.txt 文件,但它也添加了所有不必要的包。我应该怎么做才能只显示使用过的包? 谢谢, requirements.txt:

aiohttp==3.7.3 aioredis==1.3.1 雪花石膏==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 异步超时==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 漂白==3.1.0 散景@file:///C:/ci/bokeh_1593183652752/work boto==2.49.0 瓶颈==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 点击==7.0 cloudpickle @ 文件:///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 不断==15.1.0 contextlib2==0.6.0.post1 密码学==3.4.6 循环器==0.10.0 Cython @ file:///C:/ci/cython_1594830140812/work cytoolz==0.10.1 daphne==3.0.1 dask @ 文件:///tmp/build/80754af9/dask-core_1594156306305/work 装饰器==4.4.0 defusedxml==0.6.0 diff-match-patch @ 文件:///tmp/build/80754af9/diff-match-patch_1594828741838/work distlib==0.3.1 分布式@ 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 未来==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 雇佣的==1.1.0 html5lib @ 文件:///tmp/build/80754af9/html5lib_1593446221756/work 超链接==21.0.0 idna @ 文件:///tmp/build/80754af9/idna_1593446292537/work imageio @ file:///tmp/build/80754af9/imageio_1594161405741/work imagesize==1.2.0 importlib-metadata==0.23 增量==17.5.0 间隔树@ 文件:///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 服务器@ 文件:///tmp/build/80754af9/jupyterlab_server_1594164409481/work 钥匙圈@file:///C:/ci/keyring_1593109210108/work kiwisolver==1.2.0 惰性对象代理==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 misune==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 @ 文件:///tmp/build/80754af9/networkx_1594377231366/work nltk @ 文件:///tmp/build/80754af9/nltk_1592496090529/工作节点==0.9.25 鼻子==1.3.7 笔记本==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 熊猫@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 枕头@file:///C:/ci/pillow_1594304973959/work pipenv==2020.11.15 pkginfo==1.5.0.1 pluggy==0.6.0 水管工==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 @ 文件:///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-不支持 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 @ 文件:///tmp/build/80754af9/python-jsonrpc-server_1594397536060/work 蟒蛇语言服务器@ 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 正则表达式@file:///C:/ci/regex_1593435678736/work requests@ 文件:///tmp/build/80754af9/requests_1592841827918/work requests-oauthlib==1.3.0 绳子==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 服务标识==18.1.0 simplegeneric==0.8.1 simplejson==3.17.2 singledispatch==3.4.0.3 sip==4.19.13 六==1.12.0 雪球梗==2.0.0 sortedcollections==1.2.1 sortedcontainers==2.2.2 汤筛==2.0.1 狮身人面像@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@ 文件:///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 表==3.6.1 tblib==1.6.0 Telepot==12.7 终端==0.8.3 testpath==0.4.2 text-unidecode==1.2 textblob==0.15.3 threadpoolctl @ 文件:///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 扭曲@ file:///C:/Users/Rashidov/Desktop/chat_app/Twisted-20.3.0-cp38-cp38-win32.whl txaio==21.2.1 打字扩展@ 文件:///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 看门狗@ file:///C:/ci/watchdog_1593447396356/work wcwidth==0.1.7 web.py==0.62 webencodings==0.5.1 Werkzeug==0.16.0 白噪声==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 @ 文件:///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

【问题讨论】:

假设你有一个 venv - 你可以销毁 venv -> 构建一个新的 venv -> 只安装你需要的包 -> 运行 pip freeze > requirements.txt 以创建一个只包含所需包的文件跨度> 你在 venv 中运行命令 pip freeze > requirements.txt 吗? 【参考方案1】:

安装freeze:

python -m pip freeze 

并创建文件:

pip freeze > requirements.txt

【讨论】:

【参考方案2】:

看看这个Snakefood

尤其是命令 sfood-imports,它在 python 项目中查找并列出导入语句

所以它不取决于您的环境,而是取决于您编写的代码

【讨论】:

【参考方案3】:
pip freeze > requirements.txt

【讨论】:

以上是关于如何在 Django 项目中创建 requirements.txt 文件?的主要内容,如果未能解决你的问题,请参考以下文章

Django如何在数据库中创建表

如何在 django 中创建丢失的数据库表?

如何在 Django 中创建两种类型的用户?

如何在 Django 中创建团队负责人/组负责人?

如何使用引导程序和 for 循环在 django 中创建电影片段?

使用 Django 项目在 Docker 中创建 postgresql 数据库