GVKun编程网logo

如何在 RStudio 中`pip install` Python 模块?(rstudio install package)

2

本文将为您提供关于如何在RStudio中`pipinstall`Python模块?的详细介绍,我们还将为您解释rstudioinstallpackage的相关知识,同时,我们还将为您提供关于'pipi

本文将为您提供关于如何在 RStudio 中`pip install` Python 模块?的详细介绍,我们还将为您解释rstudio install package的相关知识,同时,我们还将为您提供关于'pip install ' 和 'python -m pip install ' 有什么区别?、'python setup.py install'和'pip install'之间的区别、conda install 和 pip install 安装python依赖库的选择、Dockerfile:使用 RUN 语句和 pip install -U pip的实用信息。

本文目录一览:

如何在 RStudio 中`pip install` Python 模块?(rstudio install package)

如何在 RStudio 中`pip install` Python 模块?(rstudio install package)

如何解决如何在 RStudio 中`pip install` Python 模块?

希望得到一些帮助。 pip install Python 包如何从 RStudio R-Markdown (.Rmd) 文件中进行网状化?

例如,lasio Python package 不能通过 conda 获得。因此,以下 .Rmd 代码无法将包添加到我的环境中:

  1. ```{r}
  2. library(reticulate)
  3. py_install("lasio") # did not work
  4. ```

我也尝试用 Python 代码安装包(无济于事):

  1. ```{python}
  2. import sys
  3. !{sys.executable} -m install lasio # did not work
  4. $ python -m pip install lasio # also did not work
  5. ```

事实证明,通过在 RStudio 的 终端 窗口/选项卡中键入 lasio,可以将 pip install lasio 软件包安装/添加到我的环境中。但是,我希望代码可以与 .R.Rmd 代码一起运行,以便在移植到另一台机器时自动执行该过程。谢谢。

解决方法

py_install() 有一个 pip 参数,您可以将其设置为 TRUE,它应该使用 pip 来安装您的模块:

  1. py_install("lasio",pip=TRUE)

或者,您可以使用 system2() 将调用直接传递到终端。

  1. system2("pip install lasio")

'pip install <package>' 和 'python -m pip install <package>' 有什么区别?

'pip install ' 和 'python -m pip install ' 有什么区别?

如何解决''pip install <package>'' 和 ''python -m pip install <package>'' 有什么区别?

在什么情况下会使用一种方法而不是另一种方法?这两种方法都有缺点吗?

我见过这两种方法,但我不知道两者之间的区别是什么,而且我似乎无法找到该问题的答案。行为上有差异吗?或者一个只是另一个的进化版本?

例如,here 在所有答案中都使用了这两种方法。

注意:似乎也有一个很相似的问题here,但是这个问题只涉及使用-m时提供python -m pip install <package>的必要性,但与上述两种方法之间的差异无关。

解决方法

pip install ... 调用必须在您的路径上的 pip 可执行文件。 python -m pip ... invokes 对应于此 python 安装的 pip application(即 Python 将使用其正常的导入机制来解析 pip 包)。

通常这两种方法是一样的,但是想想alias pip=echo之后会发生什么; python -m pip ... 方法仍然有效。

例如,如果您在虚拟环境中,但您想将包安装到另一个 Python 安装中,则可以使用 python -m pip ... 方法:

(somevenv) $ pip install ...   # installs into ''somevenv''
(somevenv) $ /path/to/othervenv/bin/python -m pip install ...  # installs into ''othervenv''

最后,python -m pip ... 将始终使用“正确”的 Python 安装,假设您打算使用 python 指向的任何内容。

如果您想 install a distribution from within a running script,那么根据 pip docs 使用 python -m pip 方法也是首选方法。

'python setup.py install'和'pip install'之间的区别

'python setup.py install'和'pip install'之间的区别

我有一个外部软件包,想从tar文件安装到python virtualenv中。安装软件包的最佳方法是什么?

我发现了两种方法可以做到这一点:

  1. 提取tar文件,然后python setup.py install在提取的目录中运行。
  2. pip install packagename.tar.gz来自https://pip.pypa.io/en/stable/reference/pip_install/#examples中的示例7

这两种方式在做上是否有区别。

答案1

小编典典

从表面上看,都做同样的事情:无论是做python setup.py install还是pip install <PACKAGE-NAME>会安装Python包的你,有大惊小怪的最低金额。

但是,使用pip具有一些其他优点,使其更易于使用。

  • pip将自动为您下载软件包的所有依赖项。相反,如果使用setup.py,则通常必须手动搜索并下载依赖项,这很乏味并且可能令人沮丧。
  • pip跟踪各种元数据,使您可以通过一个命令轻松卸载和更新软件包:pip uninstall <PACKAGE-NAME>pip install --upgrade <PACKAGE-NAME>。相反,如果您使用来安装软件包setup.py,则要想摆脱它,必须手动手动删除和维护该软件包,这可能容易出错。
  • 您不再需要手动下载文件。如果使用setup.py,则必须访问图书馆的网站,弄清楚从哪里下载,提取文件,运行setup.py…相比之下,pip会自动搜索Python软件包索引(PyPi)来查看该软件包是否存在,以及会自动为您下载,解压缩并安装该软件包。除了少数例外,几乎每个真正有用的Python库都可以在PyPi上找到。
  • pip可让您轻松安装轮子,这是Python发行版的新标准。有关轮子的更多信息。
  • pip提供了与using良好集成的其他好处virtualenv,该程序使您可以运行需要在计算机上使用冲突的库和Python版本的多个项目。更多信息。
  • pip默认情况下与Python 2.x系列的Python 2.7.9及Python 3.x系列的Python 3.4.0及更高版本捆绑在一起,从而更加易于使用。

所以基本上,使用点子。它仅提供对的改进python setup.py install


如果您使用的是旧版本的Python,无法升级并且未安装pip,则可以在以下链接中找到有关安装pip的更多信息:

  • 有关为所有操作系统安装pip的官方说明
  • 在Windows上安装pip的说明(包括常见问题的解决方案)
  • 有关为Mac OX安装pip的说明

pip本身并不需要教程。90%的时间,您真正需要的唯一命令是pip install <PACKAGE-NAME>。就是说,如果您想了解更多有关pip的确切功能的详细信息,请参阅:

  • 快速入门指南
  • 官方文件。

通常也建议同时使用pip和virtualenv。如果您是Python的初学者,我个人认为最好只使用pip并在全球范围内安装软件包,但最终我还是认为您应该在处理更严肃的项目时过渡到使用virtualenv。

如果您想了解有关一起使用pip和virtualenv的更多信息,请参见:

  • 为什么要使用pip和virtualenv
  • Python初学者对Pip和Virtualenv的非魔术性介绍
  • 虚拟环境

conda install 和 pip install 安装python依赖库的选择

conda install 和 pip install 安装python依赖库的选择

首先网上已经有很多文章讲了它们的区别了,完整内容不再赘述:

  • https://www.askpython.com/pyt...
  • https://www.anaconda.com/blog...
  • https://stackoverflow.com/que...

简要概括一下关键点,作为选择的依据:

  • conda里的python库数量很少,只有1500+,不是知名库基本就不要想了;相比之下pip源有23万+的库资源,高了两个数量级
  • 但是pip有个明显的缺点:它在安装一个库的时候,会同时装对应的依赖,然而如果这个依赖已经存在了,并且跟预期的版本不同,那么它就不管不顾地把当前库删了,重装需要的版本,这经常会造成新安装以后,一些就的库不能用了;而conda会相应地执行SAT测试,尽量保证所有版本的兼容性

结论:python的依赖库,可以先尝试conda,有的话直接装,没有再用pip安装。

Dockerfile:使用 RUN 语句和 pip install -U pip

Dockerfile:使用 RUN 语句和 pip install -U pip

如何解决Dockerfile:使用 RUN 语句和 pip install -U pip

Dockerfile best practices 对 apt-get update 的用法给出以下建议:

总是在同一个 RUN 中结合 RUN apt-get update 和 apt-get install 声明。

我是否也应该对 pip install -U pip 使用相同的规则?例如。在 Dockerfile 中哪种做法更可取:

  1. # Separate statements
  2. RUN pip install -U pip
  3. RUN pip install opencv-python==4.4.0.46
  4. # Single statement
  5. RUN pip install -U pip && pip install opencv-python==4.4.0.46

解决方法

Dockerfile 最佳实践的要点是在创建缓存的同一层中删除缓存。对于 pip,这意味着使用 --no-cache-dir 选项或在安装后明确删除缓存。

这两个代码片段最终会导致相同的图像大小。但是 docker 也建议在可能的情况下使用更少的层,所以我更喜欢第一种方式(使用一个 RUN 指令)。

  1. RUN pip install -U --no-cache-dir pip \\
  2. && pip install --no-cache-dir opencv-python==4.4.0.46
  1. RUN pip install -U --no-cache-dir pip
  2. RUN pip install --no-cache-dir opencv-python==4.4.0.46

关于 apt-get update && apt-get install ... 的建议并不真正适用于 pip。 Apt 依赖于由 apt-get update 下载的一些文件,好的做法是在任何 apt-get install 之后删除这些文件。这减少了 Docker 镜像的大小。 Pip 总是向互联网询问可用的软件包。

,

您应该参考 this SO 答案。简而言之,您应该始终在 apt-get update 之前apt-get install。将这些语句放在不同的行上意味着 Docker 将分别缓存它们。如果您重新运行 Docker 构建,Docker 可能会使用缓存的 apt-get update 并因此安装旧包。

这与 pip 不同 - 它会始终尝试安装可用的最新软件包版本(除非您明确指定版本)。在您给出的情况下,您可以将语句缩短为 RUN pip install -U pip opencv-python==4.4.0.46

为方便起见,您可能希望将您的安装分组在不同的 RUN 语句中,以便 Dockerfile 更易于阅读,并且您不必重新安装所有内容,以防您想添加/删除一个包。因此,例如,如果您在一行中包含 pipopencv,并且在同一行中添加了 pytest,那么当您再次运行 docker build 时,它会安装 { {1}} 和 pip 也是如此。另一方面,如果您像这样拆分行:

  1. opencv

和构建,Docker 将(默认情况下)使用 RUN pip install -U pip opencv-python RUN pip install -U pytest pip 的缓存安装并且只安装 opencv。如果您有很多包裹,这将大大节省时间。

顺便说一下,同样的事情也适用于 pytest - 唯一的问题是,正如所解释的,您可能希望将 apt-getapt-get install 分组在一行中为每个组安装包。

如果您不使用缓存(即您运行 apt-get update 之类的东西),那么您将所有内容放在一行还是在单独的行上都没有关系。

关于如何在 RStudio 中`pip install` Python 模块?rstudio install package的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于'pip install ' 和 'python -m pip install ' 有什么区别?、'python setup.py install'和'pip install'之间的区别、conda install 和 pip install 安装python依赖库的选择、Dockerfile:使用 RUN 语句和 pip install -U pip的相关知识,请在本站寻找。

本文标签: