我相信PyCharm可以为我创建一个venv,然后将代码项目与venv文件夹一起提供。在代码内部,每当调用单独的脚本时,我都会使用venv Python uder venv/Scripts/
。
令我惊讶的是,它在另一台机器上运行时中断了,venv python实际上指向我在C:\Python\Python37
处的本地Python安装。这超出了创建虚拟视频的目的!
我做错了什么?我的项目结构就像
这就是我运送到另一台机器上的东西。
答案 0 :(得分:2)
是的,venv创建了一个指向原始Python的链接。
创建“ venv需求”的最佳实践是创建需求文件:
pip freeze > requirements.txt
然后只需将此文件添加到您的项目文件夹
P.S
还有一个更好的替代方法,称为Conda。您可以在conda envs中提供python版本。
答案 1 :(得分:1)
感谢@AndreyG的回答。此外,许多其他类似的问题也很有帮助,例如:
Copy complete virtualenv to another pc
Port Python virtualenv to another system
尤其是在阅读了本教程后:https://realpython.com/python-virtual-environments-a-primer/,
我意识到我的venv误解,这是由于我以前在Mac机(通常预装Python)之间运送的经验。
现在,结合使用{@ {1}}的pip冻结方法,我还提供了Python Windows安装程序并自动安装,以确保venv符号链接指向所有机器上完全相同的Python安装。参考:
https://docs.python.org/3/using/windows.html
自动化代码:
site-packages