gpt4 book ai didi

不包含在 "conda env export"中的 pip 包

转载 作者:行者123 更新时间:2023-12-03 14:17:27 26 4
gpt4 key购买 nike

我的 python 项目在 conda 虚拟环境中运行。我使用 conda install 在环境中安装软件包只要该软件包可用于以这种方式安装,否则,我使用 pip install 安装它.

为了让其他开发人员更容易安装项目,我将在 conda 环境中使用的包列表导出到一个文件:conda env export > conda_environment_export.yml .

但是,一段时间以来,包导出不再包含 pip 安装的包。

我该怎么做才能使 pip 包再次出现在导出中?

几周前我的 conda 导出文件:

name: sensor_gateway
channels:
- defaults
dependencies:
- aiohttp=2.3.9=py36_0
- async-timeout=2.0.0=py36hc3e01a3_0
- certifi=2018.1.18=py36_0
- chardet=3.0.4=py36h420ce6e_1
- jinja2=2.10=py36h292fed1_0
- markupsafe=1.0=py36h0e26971_1
- multidict=3.3.2=py36h72bac45_0
- pip=9.0.1=py36h226ae91_4
- pymysql=0.7.11=py36hf59f3ba_0
- python=3.6.4=h6538335_1
- pytz=2018.3=py36_0
- setuptools=38.4.0=py36_0
- sqlalchemy=1.2.1=py36hfa6e2cd_0
- vc=14=h0510ff6_3
- vs2015_runtime=14.0.25123=3
- wheel=0.30.0=py36h6c3ec14_1
- wincertstore=0.2=py36h7fe50ca_0
- yarl=0.14.2=py36h27d1bf2_0
- pip:
- aiohttp-jinja2==0.16.0
- aiomysql==0.0.12
- attrs==17.4.0
- idna==2.6
- idna-ssl==1.0.0
- python-mimeparse==1.6.0
prefix: C:\ProgramData\Anaconda3\envs\sensor_gateway

现在的 conda 导出:
name: sensor_gateway
channels:
- defaults
dependencies:
- aiohttp=2.3.9=py36_0
- async-timeout=2.0.0=py36hc3e01a3_0
- certifi=2018.4.16=py36_0
- chardet=3.0.4=py36h420ce6e_1
- icc_rt=2017.0.4=h97af966_0
- intel-openmp=2018.0.0=8
- jinja2=2.10=py36h292fed1_0
- markupsafe=1.0=py36h0e26971_1
- mkl=2018.0.2=1
- mkl_fft=1.0.1=py36h452e1ab_0
- mkl_random=1.0.1=py36h9258bd6_0
- multidict=3.3.2=py36h72bac45_0
- numpy=1.14.2=py36h5c71026_1
- pip=9.0.1=py36h226ae91_4
- pymysql=0.7.11=py36hf59f3ba_0
- python=3.6.4=h6538335_1
- pytz=2018.3=py36_0
- setuptools=38.4.0=py36_0
- simplejson=3.14.0=py36hfa6e2cd_0
- sqlalchemy=1.2.1=py36hfa6e2cd_0
- vc=14=h0510ff6_3
- vs2015_runtime=14.0.25123=3
- wheel=0.30.0=py36h6c3ec14_1
- wincertstore=0.2=py36h7fe50ca_0
- yarl=0.14.2=py36h27d1bf2_0
prefix: C:\ProgramData\Anaconda3\envs\sensor_gateway

我怀疑更新 conda 的版本( 4.4.10-py36_0 --> 4.5.2-py36_0 )可能会导致这个项目出现这个问题。在另一个项目中,我遇到了同样的问题,但我更新了 pip ( 9.0.1-py36h226ae91_4 --> 10.0.1-py36_0 )。即使回到那里的 pip 9.0.1 之后,问题仍然存在。我的怀疑正确吗?我该怎么做才能再次解决这个问题?

更新:

现在唯一建议的答案链接到 this question它似乎没有解决我的问题:

1. 在 Windows 命令终端上,以管理员身份打开:
where pip输出( where 作为 Windows 等效命令到 which 在 unix/linux 上):
C:\ProgramData\Anaconda3\Scripts\pip.exe
C:\Users\Sander\AppData\Local\Programs\Python\Python36\Scripts\pip.exe
pip freeze输出:

列出我曾经在我的“普通”python 上安装的所有包(= 默认情况下安装的所有包,不在任何专用虚拟环境中)。软件包列表太长,无法包含在此处。

2.在Windows命令终端上,以管理员权限打开,执行activate sensor_gateway后:
where pip输出:
C:\ProgramData\Anaconda3\envs\sensor_gateway\Scripts\pip.exe
C:\ProgramData\Anaconda3\Scripts\pip.exe
C:\Users\Sander\AppData\Local\Programs\Python\Python36\Scripts\pip.exe
pip freeze输出:

列出我的 上使用 pip 安装的所有软件包环境 正确。

因此,似乎当我的虚拟环境被激活时,该环境中安装了一个 pip,并且必须是那个 pip 在被要求时返回已安装包的列表,而不是另一个 pip install,因为环境上的 pip 包列表是正确的。

最佳答案

我可以通过在具有管理员权限的命令窗口中运行它来解决这个问题:

activate <env-name>
conda update pip

之后,我的环境中可用软件包的导出再次包含使用 conda 安装的软件包和使用 pip 安装的软件包。

我怀疑我可能导致了这个包导出问题,因为我在执行包安装时遵循了 pip 之前给出的指令:

"You are using pip version 9.0.3, however version 10.0.1 is available. You should consider upgrading via the 'python -m pip install --upgrade pip' > command."



所以更新 python -m pip install --upgrade pip破坏了我的包导出,但是 conda update pip修复。

关于不包含在 "conda env export"中的 pip 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50253361/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com