Conda 版本 pip install -r requirements.txt --target ./lib
Posted
技术标签:
【中文标题】Conda 版本 pip install -r requirements.txt --target ./lib【英文标题】:Conda version pip install -r requirements.txt --target ./lib 【发布时间】:2018-12-05 03:46:52 【问题描述】:这个的 conda 版本是什么?
pip install -r requirements.txt --target ./lib
我找到了这些命令:
while read requirement; do conda install --yes $requirement; done < requirements.txt
但它没有说明如何指定--target ./lib
【问题讨论】:
你试过conda install --file requirements.txt
吗?
【参考方案1】:
你可以运行conda install --file requirements.txt
而不是循环,但是conda install中没有目标目录。 conda install
将软件包列表安装到指定的 conda 环境中。
【讨论】:
当我在我的requirements.txt
上指定包的版本时,我得到InvalidVersionSpec: Invalid version '3.0.': empty version component
conda install
中没有我们的目标目录。但是,可以使用 --prefix
可选参数 (doc) 指定虚拟环境的位置,并且可以使用 --name
或 --prefix
可选参数 (doc) 给出目标环境规范。
conda install installs a list of packages into a specified conda environment.
是什么意思?对我来说,它通常会为当前活动的任何 conda env 安装它。
@CharlieParker OP想要安装到不同的目录; pip
可以做到这一点,但 conda
可能不能。【参考方案2】:
要使用 python 3.7 创建名为 py37
的环境,使用通道 conda-forge 和软件包列表:
conda create -y --name py37 python=3.7
conda install --force-reinstall -y -q --name py37 -c conda-forge --file requirements.txt
conda activate py37
...
conda deactivate
标志解释:
-y
:是的,不要要求确认。
--force-reinstall
:安装包,即使它已经存在。
-q
:安静,不显示进度条。
-c
:频道,搜索包的附加频道。这些是按顺序搜索的网址
或者,您可以创建一个environment.yml 文件而不是 requirements.txt:
name: py37
channels:
- conda-forge
dependencies:
- python=3.7
- numpy=1.9.*
- pandas
使用这些命令根据 Yaml 文件中的规范创建和激活 conda 环境:
conda env create --file environment.yml
conda activate py37
使用此命令列出您拥有的环境:
conda info --envs
使用此命令删除环境:
conda env remove --name py37
新功能! ansible-role dockpack.base_conda 可以管理 Linux、Mac 和 Windows 上的 conda 环境,并可用于创建具有自定义 conda 环境的 docker 映像。
【讨论】:
解释标志会很有用 python3上面的第二条命令从环境中删除后,python2是唯一剩下的有什么原因吗? conda 管理 python 环境, conda deactivate 重置你的 shell, conda activate py37 设置你的 PATH。 如果您添加放置 yaml 文件的位置以及如何从中安装环境可能会很有用。我猜如果你有 yaml 文件,环境不会简单地存在。 @Ataxias 非常正确,标志解释非常有帮助。 +1!【参考方案3】:你总是可以试试这个:
/home/user/anaconda3/bin/pip install -r requirements.txt
这只是使用安装在 conda 环境中的 pip。如果您的环境中没有预装 pip,您可以随时运行以下命令
conda install pip
【讨论】:
只需 pip install -r requirements.txt 对我来说效果很好。 python -m pip install -r requirements.txt 激活 conda env 同上,一旦我激活了conda
环境,我就做了pip3 install -r requirements.txt
。【参考方案4】:
在conda official docs 上快速搜索将帮助您找到每个标志的作用。
到目前为止:
-y
:不求确认。
-f
:我认为应该是--file
,所以它从给定文件中读取包版本。
-q
:不显示进度条。
-c
:搜索包的附加频道。这些是按顺序搜索的网址
【讨论】:
【参考方案5】:这行得通吗?
cat requirements.txt | while read x; do conda install "$x" -p ./lib ;done
或
conda install --file requirements.txt -p ./lib
【讨论】:
对我来说最好的解决方案:cat requirements.txt |同时读取 x;做 conda install -y "$x" ;完成 我喜欢那个,它可能运行得更慢,但更可靠。以上是关于Conda 版本 pip install -r requirements.txt --target ./lib的主要内容,如果未能解决你的问题,请参考以下文章
conda 是不是从使用 pip install 安装的 pypi 更新软件包?