本文将为您提供关于如何在RStudio中`pipinstall`Python模块?的详细介绍,我们还将为您解释rstudioinstallpackage的相关知识,同时,我们还将为您提供关于'pipi
本文将为您提供关于如何在 RStudio 中`pip install` Python 模块?的详细介绍,我们还将为您解释rstudio install package的相关知识,同时,我们还将为您提供关于'pip install
- 如何在 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 模块?
希望得到一些帮助。 pip install
Python 包如何从 RStudio R-Markdown (.Rmd) 文件中进行网状化?
例如,lasio
Python package 不能通过 conda
获得。因此,以下 .Rmd 代码无法将包添加到我的环境中:
```{r}
library(reticulate)
py_install("lasio") # did not work
```
我也尝试用 Python 代码安装包(无济于事):
```{python}
import sys
!{sys.executable} -m install lasio # did not work
$ python -m pip install lasio # also did not work
```
事实证明,通过在 RStudio 的 终端 窗口/选项卡中键入 lasio
,可以将 pip install lasio
软件包安装/添加到我的环境中。但是,我希望代码可以与 .R 或 .Rmd 代码一起运行,以便在移植到另一台机器时自动执行该过程。谢谢。
解决方法
py_install()
有一个 pip
参数,您可以将其设置为 TRUE
,它应该使用 pip
来安装您的模块:
py_install("lasio",pip=TRUE)
或者,您可以使用 system2()
将调用直接传递到终端。
system2("pip install lasio")
'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'之间的区别
我有一个外部软件包,想从tar文件安装到python virtualenv中。安装软件包的最佳方法是什么?
我发现了两种方法可以做到这一点:
- 提取tar文件,然后
python setup.py install
在提取的目录中运行。 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依赖库的选择
首先网上已经有很多文章讲了它们的区别了,完整内容不再赘述:
- 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 best practices 对 apt-get update
的用法给出以下建议:
总是在同一个 RUN 中结合 RUN apt-get update 和 apt-get install 声明。
我是否也应该对 pip install -U pip
使用相同的规则?例如。在 Dockerfile 中哪种做法更可取:
# Separate statements
RUN pip install -U pip
RUN pip install opencv-python==4.4.0.46
# Single statement
RUN pip install -U pip && pip install opencv-python==4.4.0.46
解决方法
Dockerfile 最佳实践的要点是在创建缓存的同一层中删除缓存。对于 pip
,这意味着使用 --no-cache-dir
选项或在安装后明确删除缓存。
这两个代码片段最终会导致相同的图像大小。但是 docker 也建议在可能的情况下使用更少的层,所以我更喜欢第一种方式(使用一个 RUN
指令)。
RUN pip install -U --no-cache-dir pip \\
&& pip install --no-cache-dir opencv-python==4.4.0.46
RUN pip install -U --no-cache-dir pip
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 更易于阅读,并且您不必重新安装所有内容,以防您想添加/删除一个包。因此,例如,如果您在一行中包含 pip
和 opencv
,并且在同一行中添加了 pytest
,那么当您再次运行 docker build
时,它会安装 { {1}} 和 pip
也是如此。另一方面,如果您像这样拆分行:
opencv
和构建,Docker 将(默认情况下)使用 RUN pip install -U pip opencv-python
RUN pip install -U pytest
和 pip
的缓存安装并且只安装 opencv
。如果您有很多包裹,这将大大节省时间。
顺便说一下,同样的事情也适用于 pytest
- 唯一的问题是,正如所解释的,您可能希望将 apt-get
和 apt-get install
分组在一行中为每个组安装包。
如果您不使用缓存(即您运行 apt-get update
之类的东西),那么您将所有内容放在一行还是在单独的行上都没有关系。
关于如何在 RStudio 中`pip install` Python 模块?和rstudio install package的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于'pip install
本文标签: