我们还需要在github上传虚拟环境吗?

问题描述 投票:2回答:4

这是我的GitHub回购https://github.com/imsaiful/backmyitem

我从本地计算机上推送并在Amazon EC2中进行更改。之前我没有在我的仓库中添加虚拟环境文件,但现在我已经更改了包含在虚拟环境中的管理目录中的一些文件。那么我是否应该在我的GitHub上添加虚拟环境,或者我手动在远程服务器上更改相同的东西?

python django amazon-web-services amazon-ec2
4个回答
3
投票

不 - 虽然那里的环境是100%,但是如果其他人在路径环境中将其拉下来还没有出口,更不用说Python版本的差异可能会突然出现。

最好的办法是创建一个所谓的requirements.txt文件。

当你创建了你的环境,你可以pip install thispip install that。您将开始构建许多项目特定的依赖项。

一旦你开始构建了许多项目依赖项,我就会冻结你的本地python环境(类似于package.json,用于node.js包依赖管理)。我建议您在终端中执行以下操作:

(local_python_environment) $ pip install django && pip freeze > requirements.txt

(local_python_environment) $ pip install requests && pip freeze > requirements.txt

也就是说,每次安装新的依赖项时,都会将环境冻结到requirements.txt文件。

一旦协作者拉下你的项目 - 他们就可以安装一个新的python环境:

$ python3 -m venv local_python_environment

(*请使用Python 3而不是Python 2!)

然后激活该环境并从您的版本控件中包含的requirements.txt进行安装:

$ source local_python_environment/bin/activate

(local_python_environment) $ pip install -r requirements.txt

排除虚拟环境可能类似于忽略node_modules! :)


2
投票

正如在评论中提到的那样,通过requirements.txt文件执行此操作是标准的,而不是包括virtualenv本身。

您可以使用以下命令轻松生成此文件:pip freeze > requirements.txt然后,您可以使用以下命令在目标计算机上安装virtualenv软件包:pip install -r requirements.txt

值得注意的是,包含virtualenv通常根本不起作用,因为它可能包含本地系统的完整路径。使用requirements.txt文件要好得多。


0
投票

你应该在你的gitignore中添加virtualenv。 Infact github有一个推荐的python格式,应该添加哪些文件,哪些文件不应该添加

Github recommendation for gitignore


0
投票

没有必要在github上上传virtualenv文件。甚至有些时候你把你的代码推送到github然后它只在添加到忽略时忽略python文件。

虚拟环境基本上虚拟环境只不过是一种工具,通过为它们创建隔离的python虚拟环境,有助于将不同项目所需的依赖关系分开。这是大多数Python开发人员使用的最重要的工具之一。除此之外,您还可以将requirement.txt文件添加到项目中。

Requirement.txt它是告诉我们运行此应用程序需要哪个库和应用程序的文件。你可以用这个简单的命令添加requirement.txt文件。

 pip freeze > requirements.txt

运行此命令后,所有应用程序和库都会添加到此文件中。如果你的项目没有激活任何virtualenv那么python会自动使用系统环境变量,它也会添加你项目不需要的所有文件。

热门问题
推荐问题
最新问题