在虚拟环境中安装Django和模块

2024-05-15 11:53:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我的问题是,为了运行python文件,我是否每次都必须在虚拟环境中安装django?这会占用我机器上的空间吗?我的项目还使用“matplotlib”,我创建的每个虚拟环境也要求我导入matplotlib模块。越来越烦人了。我每次都得这么做吗

我是Django的新手。我想在django中运行一些python文件,但它们不起作用,所以经过一些研究,我发现我需要在虚拟环境中运行我的pycharm项目,以便运行这些python文件

我的文件夹看起来像pycharmProjects->;我的项目 我输入pycharmProjects,并使用“pienv shell”设置虚拟环境。然后我运行“python3 manage.py runserver”。事实证明,在文件运行之前,我必须在虚拟环境中安装django


Tags: 模块文件项目djangogt文件夹机器matplotlib
2条回答

简短的回答是的

如果您创建一个virualenv,您必须安装程序所需的所有软件包

长答覆:

您可以在系统范围内安装django,然后使用该选项创建一个virtualenv system-site-packages那么django将从全局安装的python中使用。 (或者只在全局python中安装所有内容,我个人认为这不是一个好做法)

如果你与许多不同的项目合作,我认为如果每个项目使用一个virtualenv,你将避免很多麻烦。 麻烦意味着一个项目中断,因为另一个项目的一个pip安装更改了一个包的版本,而一个项目无法处理较新的版本

我建议为每个项目创建一个requirements.txt文件,列出依赖项,然后您可以使用以下命令创建virtualenv pip install -r requirements.txt

如果您有requirement.txt文件,那么如果返回到旧项目,您可以相当快地创建virtualenvs,并且可以在磁盘空间用完时删除virtualenvs。如果您想成为安全的一方,请在删除virtualenv之前键入pip freeze > pipfreeze.txt,如果您想创建具有相同模块和版本的virtualenv,请使用pip install -r pipfreeze.txt

如果在类似linux的系统上工作,您可能还需要查看direnvautoenv。 这将在更改到项目的工作目录时自动切换到所需的virtualenv

简而言之,答案是否定的,您根本不需要使用虚拟环境,而是可以在全球范围内安装依赖项。然而,你很快就会发现,这将导致很多问题。创建虚拟环境的主要原因是为了控制依赖性,并防止由于项目之间的连线交叉而导致的错误

相关问题 更多 >