python - 将 Python 项目传输到不同的计算机

标签 python git pycharm interpreter pyvenv

我在我的工作电脑和家用电脑上都在做一个 Python 项目。 GitHub 使体验变得非常无缝。

但是我的 venv 文件夹中的 pyvenv.cfg 文件有问题。因为我的 Python SDK 在工作电脑上的文件路径与家用电脑不同,所以我必须手动进入 pyvenv.cfg 来更改 home = C:\Users\myName\... 每次我从另一台计算机上提取项目的更新版本时的文件路径,否则解释器将无法工作。

有谁知道这个问题的解决方案吗?

最佳答案

如评论中所确认,您已将虚拟环境文件夹添加到您的项目中,并将其包含在您放在 GitHub 上的文件中。

这通常是个坏主意,因为它首先违背了拥有虚拟环境的部分目的。您的虚拟环境将包含特定于其所在机器平台和配置的包 - 您可能在一台机器上的 Linux 上开发,在另一台机器上的 Windows 上开发,你会遇到比配置文件中的一行更大的问题。

你应该做什么:

  • 在项目/源文件夹之外的文件夹中创建虚拟环境。
  • 假设您正在使用 pip,您可以运行 pip freeze > requirements.txt 来创建一个 requirements.txt 文件夹,您可以然后在另一个系统上使用 pip install -r requirements.txt 重新创建完全相同的虚拟环境。

您所要做的就是使 requirements.txt 保持最新,并在任何一台计算机上的虚拟环境发生变化时更新它,而不是通过 GitHub pull 它。

更详细地说,一个简单的例子(对于 Windows,对于 Linux 非常相似):

  • 创建一个项目文件夹,例如C:\projects\my_project
  • 为项目创建一个虚拟环境,例如python -m venv C:\projects\venv\my_project
  • 激活环境,即 C:\projects\venv\my_project\Scripts\activate.bat
  • 安装包,例如pip 安装 numpy
  • 将安装的包保存到 C:\projects\my_project 中的文件中,名为 requirements.txtpip freeze > requirements.txt
  • 将项目存储在 Git 存储库中,包括该文件
  • 在另一台开发机器上,克隆或 pull 项目,例如git clone https://github.com/my_project D:\workwork\projects\my_project
  • 在那台机器上,创建一个新的虚拟环境,例如python -m venv D:\workwork\venv\my_project
  • 激活环境,即 D:\workwork\venv\my_project\Scripts\activate.bat
  • 使用 pip install -r D:\workwork\projects\my_project\requirements.txt 安装所需的包

既然您说您使用的是 PyCharm,那么它仍然容易得多,只需确保 PyCharm 创建的环境位于您的项目文件夹之外。我喜欢将我所有的虚拟环境保存在一个文件夹中,其 venv 名称与项目名称相匹配。

您仍然可以在您的项目中创建一个 requirements.txt,当您使用 PyCharm 将项目 pull 到另一台 PC 时,只需执行相同的操作:在项目文件夹外创建一个 venv。 PyCharm 会识别出它缺少需求文件中的包,并愿意为您安装它们。

关于python - 将 Python 项目传输到不同的计算机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65558323/

相关文章:

python - 运行时错误:ALBroker::createBroker

python - 使用泰勒级数加速计算

ios - 尝试将 Firebase 添加到我的项目时丢失/未跟踪的文件

python-3.x - Pycharm 文档字符串 : code references and docstring inheritance

unit-testing - 如何在 pyCharm 中进行单元测试

python - Pandas 数据帧的减法

python - 具有复合键的 Flask-SQLAlchemy 多对多

git - autodoc 指令在本地有效,但在 readthedocs 上无效

git - 删除分支后丢失所有内容 - 无需提交(工作目录干净)

python - PyCharm 错误 - 名称 'chicks' 可以未定义