现在的情况
我将 Python 嵌入到我的 C++ 应用程序中。该应用程序被安装到Mac系统(在Windows上常见的应用场所C:\Program Files,/Applications/,...),这需要管理员权限才能进行修改,这些目录。我的应用程序还附带了自己的 Python 安装。以下是包装结构的示例:
C:\Program Files\Foo\foo.exe
C:\Program Files\Foo\Lib
C:\Program Files\Foo\DLLs
C:\Program Files\Foo\python.exe
Run Code Online (Sandbox Code Playgroud)
该程序还设置了一个额外的用户特定目录,该目录不需要任何权限,位于sys.path:
C:\Users\username\AppData\Roaming\Foo\python\libs
Run Code Online (Sandbox Code Playgroud)
问题
在初始化过程中我叫PySet_Path,Py_SetPythonHome我一套sys.prefix到Program Files\Foo(所要求的文件)
如果用户pip通过 pip安装或模块,它最终会出现在这个应用程序目录中,这当然需要提升的权限。但是pip install something --user需要找到一个用户友好的安装目录(在我的例子中是 AppData 目录)。
我的问题是,我应该设置哪些值和组合来使用--user?是否建议将 Python 主目录设置为 AppData 目录和sys.prefixProgram Files 目录?
因为,这意味着用户可以--user用来控制某些文件的安装位置
C:\Program Files\Foo\python.exe -m pip install xyz --user
would go into the user directory
C:\Program Files\Foo\python.exe -m pip install xyz
would go into the Program Files directory
Run Code Online (Sandbox Code Playgroud)
这是推荐的,还是我在这里监督任何副作用?
小智 2
我之前将 python 解释器嵌入到 Java 应用程序中。我使用虚拟环境来管理事物。这给了对包和事情最终结果的很多控制。
本质上,您可以在系统中拥有某些内容和/或在 virtualenv 中覆盖它们。如果需要,您可以为每个用户创建 virtualenv。
有关更多信息,请参阅此处:
https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/
| 归档时间: |
|
| 查看次数: |
643 次 |
| 最近记录: |