从 PyCharm 虚拟环境中填充 requirements.txt

Fill requirements.txt from PyCharm virtual environment

我正在尝试为我的 PyCharm Django 项目填充一个 requirements.txt,它有一个虚拟环境。当我的虚拟环境启动时,我正在使用以下内容:

pip freeze > requirements.txt

这会创建很多条目,如此处所示,但没有我添加的包的条目,例如 djangorestframework、Django-crispy-forms 等

我需要做什么才能列出我的所有包裹? None 在虚拟环境 venv/lib/python 3.6/site-packages 中安装的软件包列在 requirements.txt

目前我的 requirements.txt 看起来像这样:

altgraph==0.10.2
amqp==2.1.4
appdirs==1.4.3
awsebcli==3.10.0
backports.ssl-match-hostname==3.5.0.1
bdist-mpkg==0.5.0
billiard==3.5.0.2
blessed==1.14.1
bonjour-py==0.3
botocore==1.5.26
cement==2.8.2
click==6.7
colorama==0.3.7
coreapi==2.3.0
coreschema==0.0.4
defusedxml==0.4.1
django-appconf==1.0.2
dockerpty==0.4.1
funcsigs==1.0.2
futures==3.1.1
itypes==1.1.0
Jinja2==2.9.6
jmespath==0.9.2
kombu==4.0.2
macholib==1.5.1
MarkupSafe==1.0
matplotlib==1.3.1
modulegraph==0.10.4
numpy==1.8.0rc1
oauthlib==2.0.1
olefile==0.44
openapi-codec==1.3.1
packaging==16.8
pathspec==0.5.0
pbr==3.0.1
progressbar2==3.20.0
psycopg2==2.7.3.2
py2app==0.7.3
PyJWT==1.5.0
pyobjc-core==2.5.1
pyobjc-framework-Accounts==2.5.1
pyobjc-framework-AddressBook==2.5.1
pyobjc-framework-AppleScriptKit==2.5.1
pyobjc-framework-AppleScriptObjC==2.5.1
pyobjc-framework-Automator==2.5.1
pyobjc-framework-CFNetwork==2.5.1
pyobjc-framework-Cocoa==2.5.1
pyobjc-framework-Collaboration==2.5.1
pyobjc-framework-CoreData==2.5.1
pyobjc-framework-CoreLocation==2.5.1
pyobjc-framework-CoreText==2.5.1
pyobjc-framework-DictionaryServices==2.5.1
pyobjc-framework-EventKit==2.5.1
pyobjc-framework-ExceptionHandling==2.5.1
pyobjc-framework-FSEvents==2.5.1
pyobjc-framework-InputMethodKit==2.5.1
pyobjc-framework-InstallerPlugins==2.5.1
pyobjc-framework-InstantMessage==2.5.1
pyobjc-framework-LatentSemanticMapping==2.5.1
pyobjc-framework-LaunchServices==2.5.1
pyobjc-framework-Message==2.5.1
pyobjc-framework-OpenDirectory==2.5.1
pyobjc-framework-PreferencePanes==2.5.1
pyobjc-framework-PubSub==2.5.1
pyobjc-framework-QTKit==2.5.1
pyobjc-framework-Quartz==2.5.1
pyobjc-framework-ScreenSaver==2.5.1
pyobjc-framework-ScriptingBridge==2.5.1
pyobjc-framework-SearchKit==2.5.1
pyobjc-framework-ServiceManagement==2.5.1
pyobjc-framework-Social==2.5.1
pyobjc-framework-SyncServices==2.5.1
pyobjc-framework-SystemConfiguration==2.5.1
pyobjc-framework-WebKit==2.5.1
pyOpenSSL==0.13.1
pyparsing==2.2.0
python-dateutil==1.5
python-openid==2.2.5
pytz==2013.7
PyYAML==3.12
requests-oauthlib==0.8.0
scipy==0.13.0b1
semantic-version==2.5.0
simplejson==3.10.0
six==1.10.0
social-auth-app-django==1.2.0
social-auth-core==1.3.0
sqlparse==0.2.3
tabulate==0.7.5
termcolor==1.1.0
uritemplate==3.0.0
vboxapi==1.0
vine==1.1.3
virtualenv==15.1.0
wcwidth==0.1.7
websocket-client==0.40.0
xattr==0.6.4
zope.interface==4.1.1

编辑:

自评论中跟进以来,我们得出的结论是@BillNoble 创建的虚拟环境中没有安装 pip,这就是导致问题的原因。

按照这个 post: 他能够解决它。

我会在这里留下我之前的回答,因为它是对问题初始措辞的回答。


Pycharm 版本 2017.2:

  1. 转到:文件 > 设置 > 项目:> 项目解释器
  2. 在那里,点击带有齿轮符号的按钮。
    如果您有虚拟环境,请选择 "add local" (3).
    如果您没有虚拟环境,请选择 "create VirtualEnv" (4).
  3. 添加本地: 导航到您的虚拟环境文件夹并找到现有的。然后选择:path/to/venv/my_venv/bin/pythonX.X
  4. 创建 VirtualEnv: 给它起个名字,select 你想要的 python 版本。
  5. 转到 Pycharm 终端并激活您的虚拟环境(或重新启动 pycharm)。

(编辑:在 Pycharm 更新后添加)Pycharm 版本 2017.3.3:

  1. 转到:文件 > 设置 > 项目:> 项目解释器
  2. 在那里,点击带有齿轮符号的按钮并选择 "Add Local":
    如果您有虚拟环境,请选择 "Existing environment" (3).
    如果您没有虚拟环境,请选择 "New environment" (4).
  3. 现有环境: 在 "Interpreter" 选项卡中,导航到您的虚拟环境文件夹并找到您现有的环境。然后选择:path/to/venv/my_venv/bin/pythonX.X
  4. 新环境:在"Location"选项卡中定义虚拟环境的位置(通常是home/username/.virtualenvs/your_venv)并从下拉列表中选择基本解释器-向下菜单。
  5. 转到 Pycharm 终端并激活您的虚拟环境(或重新启动 pycharm)。

现在安装您需要的任何东西,当您执行 pip freeze > requirements.txt 时,您将在虚拟环境中安装所有东西。

请记住,您不需要 requirement.txt 中的 venv 中的所有内容。其中的大多数模块都依赖于其他模块(如 Django),如果您尝试安装依赖包,它们的正确版本将被安装。