如何解决在其他系统中使用您自己的 venv
我有 3 个相互关联的小问题。
1.我最近创建了自己的虚拟环境,我想将该环境导出到我朋友的系统,以便他可以一键运行我环境的主程序。
2.还有把主驱动python代码文件放在venv的什么地方,方便在其他系统中执行。
3.我使用 open() 读取文本文件,但我不确定它的目录必须是什么,以便它可以在其他(任何)系统上工作,我目前将它存储在我的 venv 中
我尝试过的: 1.完成了所以导出到别的系统,(但是不知道选哪个文件夹可以在别的Window上操作),直接复制my_venv粘贴到别的系统. 2.我将它存储在my_venv/main.py 3.我试过open(r'.vmy_env/text.txt','r').
解决方法
您实际上无法将您的虚拟环境从一个系统移动到您朋友的系统。你可以做的是:
-
在虚拟环境文件夹中创建一个 src 文件夹,并将与项目相关的所有代码文件和必要文件保存在此源文件夹中。
-
使用
pip freeze
命令获取所有安装详细信息。将所有这些详细信息存储在requirements.txt
之类的文件中。您可以通过手动复制粘贴或使用输出重定向来实现。 -
既然我们已经了解了要求和基本结构,那么在另一个(您朋友的)系统中创建一个虚拟环境。请他将
src
文件夹放在与您完全相同的位置。然后让他用pip安装所有依赖(你可以按照this link) -
那么他应该很乐意去执行项目。另一个有用的链接可以是 this,它显示了如何使用上述步骤。
建议的文件夹结构可以是这样的:
+
|
|---- src
| |
| |---- main.py
| |
| |---- data
| | |
| | |---- dataset1.csv
| | |---- dataset2.csv
| | +
| |
| |---- utils
| | |
| | |---- helper.py
| | |
| | +
| |
| |---- requirements.txt
| |
| +
+
此处的 main.py
是驱动程序代码,所有其他目录将包含帮助程序/实用程序函数和类。
管理项目文件夹结构时的一些好的做法是:
- 将所有代码或数据文件保存在源文件夹中(此处为
src
)。 - 使用相对路径而不是绝对路径。您可以使用
os
模块来做同样的事情。因为这样就无需每次在不同的机器或操作系统上运行代码时都修改代码。 - 切勿复制 venv 文件夹。这只是我们需要的 src 文件夹。
- 在有效的项目管理和协作方面,使用版本控制系统是一大优势。因此,请尝试查看
git
如果您可以分享您当前的文件夹结构,那么我可以更准确地帮助您。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。