使用 git 管理 virtualenv 状态:这会导致问题吗?

2024-02-23

我目前已经以一种完全正确的方式设置了 git 和 virtualenv 满足我的需求,到目前为止,还没有造成任何问题。不过我知道 我的设置是非标准的,我想知道是否有人更熟悉 virtualenv 内部结构可以指出是否以及哪里可能出错。

My setup

我的 virtualenv 位于我的 git 存储库中,但 git 设置为忽略bin and include目录和所有内容lib except为了site-packages目录。

更准确地说,我的.gitignore文件看起来像这样:

*.pyc

# Ignore all the virtualenv stuff except the actual packages
# themselves
/bin
/include
/lib/python*/*
!/lib/python*/site-packages

# Ignore easyinstall and setuptools
/lib/python*/site-packages/easy-install.pth
/lib/python*/site-packages/setuptools.pth
/lib/python*/site-packages/setuptools-*
/lib/python*/site-packages/pip-*

通过这种安排,我以及其他负责项目签出的人都可以正常使用 virtualenv 和 pip,但具有以下优点:

  1. 如果任何人更新或安装软件包并推送他们的更改,那么提取这些更改的任何其他人都会自动获取更新:他们不需要注意到requirements.txt文件已更改或执行任何操作post-receive钩魔法。

  2. 没有网络依赖性:使应用程序运行的所有代码都位于 git 存储库中。

我知道这只适用于纯 Python 包,但这就是我目前所关心的。

有谁知道我应该注意这种方法的任何其他问题吗?


这是个有趣的问题。我认为其他两个答案(到目前为止)提出了很好的具体观点。显然,您已经仔细考虑了这一点并得出了您喜欢的解决方案,但我要指出的是,virtualenv 用户之间似乎确实存在哲学分歧。

我猜你属于其中一个阵营,他们认为本地 VE 是项目的一部分(即它应该处于版本控制之下)。另一种观点认为,VE 本质上应该被视为开发工件——requirements.txt 应该是项目存储库的一部分,但您应该能够根据需要删除并重新创建 VE。

我之所以提到这一点,是因为当我第一次看到这种区别时,它帮助塑造了我对 virtualenv 的想法。 (我属于第二个阵营,FWIW,因为它对我来说似乎更简单、更干净,但这并不是说第一个阵营对于您的特定项目来说是错误的。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 git 管理 virtualenv 状态:这会导致问题吗? 的相关文章

  • TensorFlow:带有轴选项的 bincount

    在 TensorFlow 中 我可以使用 tf bincount 获取数组中每个元素的计数 x tf placeholder tf int32 None freq tf bincount x tf Session run freq feed
  • 从 Python 下载/安装 Windows 更新

    我正在编写一个脚本来自动安装 Windows 更新 我可以将其部署在多台计算机上 这样我就不必担心手动更新它们 我想用 Python 编写这个 但找不到任何关于如何完成此操作的信息 我需要知道如何搜索更新 下载更新并从 python 脚本安
  • 默认情况下 git merge -Xignore-space-change

    我该如何设置该选项ignore space change对于所有合并使用git config 我也许可以使用别名merge 但因为我希望该设置应用于git stash pop git stash apply git pull and git
  • Python 是解释型的还是编译型的,或者两者兼而有之?

    据我了解 An 解释的语言是由解释器 将高级语言转换为机器代码然后执行的程序 实时运行和执行的高级语言 它一次处理一点程序 A compiled语言是一种高级语言 其代码首先由编译器 将高级语言转换为机器代码的程序 转换为机器代码 然后由执
  • 字符串中的注释和注释中的字符串

    我正在尝试使用 Python 和 Regex 计算 C 代码中包含的注释中的字符数 但没有成功 我可以先删除字符串以删除字符串中的注释 但这也会删除注释中的字符串 结果会很糟糕 是否有机会通过使用正则表达式来询问不匹配注释中的字符串 反之亦
  • Python中列表中两个连续元素的平均值

    我有一个偶数个浮点数的列表 2 34 3 45 4 56 1 23 2 34 7 89 我的任务是计算 1 和 2 个元素 3 和 4 5 和 6 等元素的平均值 在 Python 中执行此操作的快捷方法是什么 data 2 34 3 45
  • 更改 x 轴比例

    我使用 Matlab 创建了这个图 使用 matplotlib x 轴绘制大数字 例如 100000 200000 300000 我想要 1 2 3 和 10 5 之类的值来指示它实际上是 100000 200000 300000 有没有一
  • 使用 Python 计算 Spark 中成对 (K,V) RDD 中每个 KEY 的平均值

    我想与 Python 共享这个特定的 Apache Spark 解决方案 因为它的文档非常贫乏 我想通过 KEY 计算 K V 对 存储在 Pairwise RDD 中 的平均值 示例数据如下所示 gt gt gt rdd1 take 10
  • VS 2015 + Bower:在防火墙后面不起作用

    Problem 在 Visual Studio 2015 中 使用 Bower 我的包在防火墙后面时恢复失败 并出现类似以下内容的错误 ECMDERR 无法执行 git ls remote tags heads git github com
  • 在相同任务上,Keras 比 TensorFlow 慢

    我正在使用 Python 运行斩首 DCNN 本例中为 Inception V3 来获取图像特征 我使用的是 Anaconda Py3 6 和 Windows7 使用 TensorFlow 时 我将会话保存在变量中 感谢 jdehesa 并
  • 揭秘sharedctypes性能

    在 python 中 可以在多个进程之间共享 ctypes 对象 然而我注意到分配这些对象似乎非常昂贵 考虑以下代码 from multiprocessing import sharedctypes as sct import ctypes
  • Werkzeug 中的线程和本地代理。用法

    首先 我想确保我正确理解了功能的分配 分配本地代理功能以通过线程内的模块 包 共享变量 对象 我对吗 其次 用法对我来说仍然不清楚 也许是因为我误解了作业 我用烧瓶 如果我有两个 或更多 模块 A B 我想将对象C从模块A导入到模块B 但我
  • `pyqt5'错误`元数据生成失败`

    我正在尝试安装pyqt5使用带有 M1 芯片和 Python 3 9 12 的 mac 操作系统 我怀疑M1芯片可能是原因 我收到一个错误metadata generation failed 最小工作示例 directly in the t
  • 我可以直接从我的谷歌云端硬盘在线推送/拉取吗?

    有一些方法可以通过谷歌驱动器同步 Windows 应用程序将我的本地 git 存储库同步到我的谷歌驱动器 但我想知道我是否可以完全绕过它的需要 Fro eg git remote add origin https drive google
  • 以编程方式使用 Sphinx 特定指令解析 .rst 文件

    我希望能够在 Python 中解析基于 sphinx 的 rst 以便进一步处理和检查 就像是 import sphinx p sphinx parse path to file rst do something with p 似乎在 do
  • falcon,AttributeError:“API”对象没有属性“create”

    我正在尝试测试我的猎鹰路线 但测试总是失败 而且看起来我把所有事情都做对了 my app py import falcon from resources static import StaticResource api falcon API
  • 字符串列表,获取n个元素的公共子串,Python

    我的问题可能类似于this https stackoverflow com questions 37514193 count the number of occurrences of n length not given string in
  • 计算互相关函数?

    In R 我在用ccf or acf计算成对互相关函数 以便我可以找出哪个移位给我带来最大值 从它的外观来看 R给我一个标准化的值序列 Python 的 scipy 中是否有类似的东西 或者我应该使用fft模块 目前 我正在这样做 xcor
  • [cocos2d-x]当我尝试在 Windows 10 中运行“python android-build.py -p 19 cpp-tests”时出现错误

    当我尝试运行命令时python android build p cpp tests 我收到如图所示的错误 在此之前 我收到了另一条关于 Android SDK Tools 版本兼容性的错误消息 所以 我只是将 sdk 版本从 26 0 0
  • python 日志记录会刷新每个日志吗?

    当我使用标准模块将日志写入文件时logging 每个日志会分别刷新到磁盘吗 例如 下面的代码会将日志刷新 10 次吗 logging basicConfig level logging DEBUG filename debug log fo

随机推荐

  • YouTube 数据 API:每日请求量一天内从 270 万增至 4300 万

    我开始看到 404 每日配额突然达到 因此我转到 API 控制台检查日志 我发现就在今天 我从 API 密钥收到了 4300 万个请求 而日平均请求数约为 250 万个 这是否意味着有人正在使用我的 API 密钥进行恶意操作 我该如何调查这
  • D3 树布局使用 NodeSize 分隔节点

    现在我正在尝试分离我的矩形节点 因为它们重叠 如下图所示 我看了一下 发现D3提供了一个nodeSize https github com mbostock d3 wiki Tree Layout wiki nodeSize and 分离
  • 如何让谷歌地图再次请求位置权限?

    我在移动网络应用程序中使用 Google 地图 但我注意到 有时当地图提示位置权限时 用户会意外点击 拒绝 而不是 允许 并且他们需要重新加载页面才能正确定位 有没有一种方法 即让用户可以触发一些 JS 调用 例如通过点击按钮来更改他们对授
  • 通过react router的 组件在新选项卡中打开

    React Router Link 组件接收target blank 在新选项卡中打开页面 有没有办法对重定向组件执行相同的操作 我的组件的设置方式 我无法换行Link围绕有问题的组件 组件上有一个按钮 单击它也会重定向 我不想要 这就是我
  • Android PDF 查看器库或 muPDF 库教程

    我正在尝试在我的 Android 应用程序中阅读 pdf 文件 我不想使用默认的 pdf 阅读器而只是打开一个新意图 因为我需要自己的 GUI 并且想使用第一页作为封面 因此我需要制作自己的pdf阅读器 我做了一些研究并发现了 muPDF
  • Python 3 中嵌套 For 循环的最大深度是多少? [复制]

    这个问题在这里已经有答案了 我想知道是否存在这样的 水平 我知道 C 中的限制是 127 但我找不到任何有关 Python 的信息 例如 for True level 0 for True level 1 for True level ma
  • 测试抽象类具体方法

    我将如何设计和组织抽象类的具体方法的测试 特别是在 NET 中 您必须创建一个子类来实现抽象方法 带有空方法 但不实现任何具体方法 该子类应该仅用于测试 它不应该进入您的生产代码 只需忽略单元测试中被重写的抽象方法并专注于具体方法即可
  • 在 jenkins 插件中正确设置 sonar.sources

    我正在尝试建立一个安卓java项目分支 feature Fprototype app 我收到此错误 INFO 13 38 36 470 Base dir Users Shared Jenkins Home jobs Textify work
  • 打开信息活动而不关闭主活动

    我正在制作一个简单的 Android 应用程序 有两个活动 一个 MainActivity 和一个 InfoActivity 我的 ActionBar 上有一个按钮 单击后我想打开我的 InfoActivity 在我的 InfoActivi
  • Eclipse 热代码替换失败 - 重新发布 Web 应用程序

    我在 Tomcat 上的 Web 应用程序中使用热插拔 Java 调试功能 在进行一些类签名更改后 我收到 热代码替换失败 Eclipse 对话框 我明白这一点 在这种情况下 我想要的是重新发布应用程序 我可以做到 并使用新部署的代码 然而
  • 后台核心数据更新

    我基本上需要在后台线程中更新核心数据而不阻塞 UI 并保存它 保存后应重新加载表视图以查看更改 所以为了做到这一点我想使用 dispatch async dispatch get global queue DISPATCH QUEUE PR
  • android 模拟器 2.2 中的相机问题

    我遇到一个问题 在 android 2 2 模拟器中 相机无法工作 它会自动关闭相机 但这个问题在android 1 5模拟器中不会发生 为什么会发生这种情况 任何机构都可以帮忙吗 这是一个已知问题 并且已被多次询问 这里有一些可能的解决方
  • 为什么 AMD GCN 使用非零 NULL?

    这次提交 https reviews llvm org rL289252 says In amdgcn https en wikipedia org wiki Graphics Core Next目标 全局 常量和通用地址空间中的空指针取值
  • 如何将打印输出分配给变量?

    如何分配输出print函数 或任何函数 到变量 举个例子 import eyeD3 tag eyeD3 Tag tag link some file mp3 print tag getArtist 我如何分配输出print tag getA
  • 如何从文件中获取数字并将其放入数组中? [复制]

    这个问题在这里已经有答案了 所以我的程序应该生成 30 个随机数 将它们放入文件中 然后将这些数字保存在数组中 但是当我尝试打印文件中的数字时 它们不是文件中的数字 而是一些随机的大数字 include
  • 跨页面存储信用卡信息的安全方法 ASP.NET MVC

    我正在运行 ASP NET MVC 需要一种安全的方式来临时存储信用卡数据 我有一个订单确认页面 该页面会发布到实际处理订单的操作 我尝试了 TempData 但它无法在帖子中幸存下来 由于会话存储在服务器上 我可以安全地使用它吗 Than
  • 使用 PHP unlink() 方法后获取 0KB 文件

    我正在尝试删除服务器上的文件 下面是我使用的代码 function ServerDel file file realpath file echo file fh fopen file w or die can t open file fcl
  • android: 库模块中的 fcm

    我在将 Firebase Cloud Messaging 集成到库模块中时面临一个奇怪的问题 我正在开发一个图书馆项目 在该项目中我需要处理来自图书馆本身的 FCM 服务器的通知 我不知道这是否可能 我遵循的步骤 我在 Firebase 控
  • Angular 的多种布局

    我正在构建一个 Angular 应用程序 但在如何处理主页方面遇到了一些障碍 主页有 90 的不同 只有标题保持不变 在那里我有显示用户登录状态的指令 为了利用路由 模板等 我理想地希望将我的 ngview 显示在示例的白色区域中 一切正常
  • 使用 git 管理 virtualenv 状态:这会导致问题吗?

    我目前已经以一种完全正确的方式设置了 git 和 virtualenv 满足我的需求 到目前为止 还没有造成任何问题 不过我知道 我的设置是非标准的 我想知道是否有人更熟悉 virtualenv 内部结构可以指出是否以及哪里可能出错 My