解析 'conda'、'sudo' 和 'global' python 路径
Resolving 'conda', 'sudo', and 'global' python paths
一般来说,我对 conda 和 venvs(以及 s/o)都是业余爱好者,所以我希望有人能给我解释一下如何处理这 3 条路径。
Conda/Global 例子
我在 conda 环境中并尝试安装 tensorrt 及其 python 绑定。它作为一个 debian 软件包提供,所以我 'apt-get' 它。我假设这将在全球范围内安装它,我的 conda venv 将能够 'see' 它,但事实并非如此。它仅在停用我的环境后可用。如何启用此软件包以从我的 conda 环境中使用?
Conda/Sudo 示例
我在 conda env 中,并希望安装一个 python 软件包,它不是 debian 软件包,而是一个 setup.py。我希望全局安装它(适用于所有环境,虚拟和非)和 运行 它的 setup.py 和 'sudo python'。这解析为 不同的 路径,在我的虚拟环境或本地路径中不可见。与目标完全相反。如何让这个包对我的 conda venv 可见?
感谢任何帮助。
您将许多打包管理系统混合在一起(apt、conda、pip)。此外,您的问题违背了使用虚拟环境的目的。你应该只在安装 Python 软件包时使用 sudo
,当你确切地知道你在做什么时。
我将为您提供一些解决方案的指南,但我建议您首先整理您的开发环境,因为这只会导致更多的麻烦。决定一件事并坚持下去。
如果您不想使用虚拟环境的好处,也许您不应该使用虚拟环境。
我要写python3
。对您来说,它可能被称为 py
、py3
或 python
。您可以使用 Linux 上的 which python3
和 Windows 上的 where python3
获得 python3
命令的 PATH
。
安装包时。它们放在 python3 -m site
中列出的文件夹之一中。你可以激活你的虚拟环境,看到文件夹不一样了。
您会看到您当前的工作目录已自动添加。您可以看到每个用户都有自己的 site-packages
文件夹,并且有一些公共文件夹 /usr/lib/python...
这是您的 Python 解释器的一部分。它们包含基本功能,通常您不会在其中安装自定义包。
如何将 Python 模块安装到自定义路径?
我正在链接另一个 Whosebug 问题,因为它各不相同。 Install a Python package into a different directory using pip?
请使用 Conda 进行自己的研究。
如何让我的程序使用新路径中定义的 Python 模块?
使用 PYTHONPATH
.
当您执行 python
时,它将查找 python -m site
文件夹中列出的所有模块。您可以添加另一个文件夹,例如:PYTHONPATH=/home/ python -m site
我省略了很多信息,这不是 wiki 或类似的。这只是一个导致解决方案的答案,但它不是一个很好的解决方案。
一般来说,我对 conda 和 venvs(以及 s/o)都是业余爱好者,所以我希望有人能给我解释一下如何处理这 3 条路径。
Conda/Global 例子
我在 conda 环境中并尝试安装 tensorrt 及其 python 绑定。它作为一个 debian 软件包提供,所以我 'apt-get' 它。我假设这将在全球范围内安装它,我的 conda venv 将能够 'see' 它,但事实并非如此。它仅在停用我的环境后可用。如何启用此软件包以从我的 conda 环境中使用?
Conda/Sudo 示例
我在 conda env 中,并希望安装一个 python 软件包,它不是 debian 软件包,而是一个 setup.py。我希望全局安装它(适用于所有环境,虚拟和非)和 运行 它的 setup.py 和 'sudo python'。这解析为 不同的 路径,在我的虚拟环境或本地路径中不可见。与目标完全相反。如何让这个包对我的 conda venv 可见?
感谢任何帮助。
您将许多打包管理系统混合在一起(apt、conda、pip)。此外,您的问题违背了使用虚拟环境的目的。你应该只在安装 Python 软件包时使用 sudo
,当你确切地知道你在做什么时。
我将为您提供一些解决方案的指南,但我建议您首先整理您的开发环境,因为这只会导致更多的麻烦。决定一件事并坚持下去。
如果您不想使用虚拟环境的好处,也许您不应该使用虚拟环境。
我要写python3
。对您来说,它可能被称为 py
、py3
或 python
。您可以使用 Linux 上的 which python3
和 Windows 上的 where python3
获得 python3
命令的 PATH
。
安装包时。它们放在 python3 -m site
中列出的文件夹之一中。你可以激活你的虚拟环境,看到文件夹不一样了。
您会看到您当前的工作目录已自动添加。您可以看到每个用户都有自己的 site-packages
文件夹,并且有一些公共文件夹 /usr/lib/python...
这是您的 Python 解释器的一部分。它们包含基本功能,通常您不会在其中安装自定义包。
如何将 Python 模块安装到自定义路径?
我正在链接另一个 Whosebug 问题,因为它各不相同。 Install a Python package into a different directory using pip?
请使用 Conda 进行自己的研究。
如何让我的程序使用新路径中定义的 Python 模块?
使用 PYTHONPATH
.
当您执行 python
时,它将查找 python -m site
文件夹中列出的所有模块。您可以添加另一个文件夹,例如:PYTHONPATH=/home/ python -m site
我省略了很多信息,这不是 wiki 或类似的。这只是一个导致解决方案的答案,但它不是一个很好的解决方案。