Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
virtualenv python中的预期行为是什么?_Python_Virtualenv_Setup.py_Data Files - Fatal编程技术网

virtualenv python中的预期行为是什么?

virtualenv python中的预期行为是什么?,python,virtualenv,setup.py,data-files,Python,Virtualenv,Setup.py,Data Files,这是我的问题,我试图使一个应用程序,复制数据文件在其设置。在执行pip安装时,安装程序会将一些文件复制到一个目录中 现在我的问题是,当在虚拟环境中时,客户期望的行为是什么?他是希望在虚拟环境目录中为每个VirtualEnvironment v创建所有数据文件,还是将所有文件复制到虚拟环境目录外的公共目录中。 运行应用程序时,将创建新文件,并将其与这些复制的文件一起存储。pythonvirtualenv的理想行为是什么。普通还是孤立?virtualenv更多的是用于开发,而不是用于部署。部署Pyt

这是我的问题,我试图使一个应用程序,复制数据文件在其设置。在执行pip安装时,安装程序会将一些文件复制到一个目录中

现在我的问题是,当在虚拟环境中时,客户期望的行为是什么?他是希望在虚拟环境目录中为每个VirtualEnvironment v创建所有数据文件,还是将所有文件复制到虚拟环境目录外的公共目录中。


运行应用程序时,将创建新文件,并将其与这些复制的文件一起存储。pythonvirtualenv的理想行为是什么。普通还是孤立?

virtualenv更多的是用于开发,而不是用于部署。部署Python应用程序有很多场景。但是,如果您喜欢使用virtualenv,并且您有公共文件,那么它们可以在IMHO的任何地方,因为virtualenv不是真正的隔离,它只是Python路径的破坏/修改机制(不像“chroot”),所以您可以决定将公共文件放在何处,甚至是/usr/share/my-app-1.0/datafiles/。此外,virtualenv还用于隔离二进制文件/脚本,但如果数据文件是静态的,您可以根据需要放置它们。

在我看来,这取决于您创建的应用程序。Virtualenv只是在同一台机器上运行具有不同依赖关系的多个应用程序的一种方式。来自应用程序的数据是另一回事

当我编写web应用程序时,那个将是服务器上的单个应用程序,然后我将使用一个目录

另一方面,当我编写GUI应用程序时,情况就不同了。如果每个版本都必须更改数据,但最终用户不直接接触数据(例如,一些词典、翻译等),我会将其放在应用程序包的dist包中(请参阅)。
另一方面,如果用户可以“触摸”并使用这些文件,那么我会将它们放在用户的主目录中。请参见

虚拟环境通常被解释为沙盒环境,您无法到达外部。我有两个选项:在VirtualEnvironment目录中创建数据文件或在user home目录中创建公用数据文件。用户完全可以根据需要添加和自定义旧文件。在这种情况下,对于多个用户,您认为将所有数据文件保存在一个目录中是一个好主意吗?