我相信这对有经验的人来说非常简单。我正在通过Django电子书的楔子学习Django。
我使用的是通过pyenv安装的Python 3.8.7,如下所示:pyenv install 3.8.7
然后我建立了一个虚拟的,像这样:pyenv virtualenv 3.8.7 everycheese
我在我的回购中激活虚拟机,如下所示:pyenv local everycheese
环境在提示中显示为活动,因为它以(everychese(开头。
主项目是从Django Cookiecutter中克隆的https://github.com/cookiecutter/cookiecutter-django
然后,我使用pip从requirements.txt文件中安装需求。
然而,当我尝试添加新的包时(通过将包作为新行添加到requirements.txt并使用pip再次安装(,我遇到了麻烦。
CCD_ 4或CCD_。但是,当我将模块添加到INSTALLED_APPS并尝试将其导入models.py文件时,Django找不到它。
当我键入which python
和which pip
,它们指向不同的目录,我认为这可能是问题的一部分,但我被卡住了。
使用pip
(或实际上任何其他Python脚本(时,确保使用哪种Python解释器非常重要。通常,在调用pip
时使用哪一个Python解释器是显而易见的。但有时它并不清楚,而且脚本实际上是用一个人们可能认为不同的解释器运行的。这导致了意想不到的结果和很多混乱。
因此,最好显式调用您要针对的确切Python解释器,并告诉它运行pip的可执行模块(或任何其他可执行模块(。通常:
$ python -m pip install Something
$ # instead of 'pip install Something'
$ python3 -m pip install Something
$ # instead of 'pip3 install Something'
如果仍然有疑问,甚至可以更进一步,明确地使用一个更明确的路径来访问Python解释器:
/the/path/to/my/pythonX.Y -m pip
path/to/my/pythonX.Y -m pip
path/to/my/python -m pip
path/to/venv/bin/python -m pip
pythonX.Y -m pip
python3 -m pip
python -m pip
资源:
- Brett Cannon的文章"为什么应该使用CCD_ 17">