pip包不包括在“文件”中;康达环境出口公司“;

pip包不包括在“文件”中;康达环境出口公司“;,pip,anaconda,conda,Pip,Anaconda,Conda,我的python项目在conda虚拟环境中运行。我使用conda install在环境中安装软件包,只要该软件包可以通过这种方式安装,否则,我使用pip install安装它 为了便于其他开发人员安装项目,我将conda环境中使用的包列表导出到一个文件:conda env export>conda_environment_export.yml 但是,从一段时间以来,包导出不再包含pip安装的包 如何使pip包再次出现在导出中 我的conda导出文件与几周前一样: name: sensor_gat

我的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
康达出口现在:

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,问题仍然存在。我的怀疑正确吗?我能做些什么来解决这个问题呢

更新:

目前唯一建议的答案是链接到,但似乎无法解决我的问题:

1。在Windows命令终端上,以管理员身份打开:

where-pip
输出(
where
作为与unix/linux上的
which
相当的windows命令):

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

2。在Windows命令终端上,以管理员权限打开,并在执行后激活传感器\u网关:

其中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冻结
输出:

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的所有软件包


因此,当我的虚拟环境被激活时,该环境中安装了一个pip,必须是该pip在请求时返回已安装包的列表,而不是另一个pip安装,由于环境中的pip软件包列表是正确的。

如果您已使用
anaconda
安装了
pip
,并使用它来安装软件包,则
conda env
会自动执行此操作

因此,基本上可以使用导出环境

conda env export-n>environment.yml

否则


请参阅此

我只需在具有管理员权限的命令窗口中运行此命令即可解决此问题:

activate <env-name>
conda update pip
激活
康达更新pip
在此之后,我的环境中可用软件包的导出再次包含使用conda安装的软件包和使用pip安装的软件包

我怀疑是我导致了这个程序包导出问题,因为我在执行程序包安装时遵循了pip早些时候给出的指令:

“您使用的是pip版本9.0.3,但版本10.0.1可用。 您应该考虑通过“Python -M PIP安装——升级PIP”>命令进行升级。
因此,使用
python-mpip安装更新--upgrade pip
破坏了我的包导出,但
conda update pip
修复了它。

在撰写本文时,由于anaconda读取pip列表的问题,conda export命令仅导出通过
conda install packagename
安装的包,并忽略pip包


您可以尝试通过conda install重新安装软件包,并查看它是否正确生成environment.yml文件。

对于我来说,这仅在使用conda软件包pip 18.1_py36_0时出现(未尝试任何其他版本)。 因此,我通过via将虚拟环境中的pip降级为版本10

conda install pip=10
在此之后,导出再次列出pip包


另请参阅此conda请求,它修复了conda 4.6.2的问题。它也被后传到conda 4.5.10。目前没有conda 4.4.x backport。

抱歉,这不是解决方案。这就是我现在导出环境的方式,我用conda安装了pip。my 2环境中的conda env导出确实在早些时候自动包含pip包,但现在不再包含了。不过,您链接到相关问题的链接很有趣。我在我的问题中添加了一些信息,为什么我认为我的问题与调用错误的pip安装无关,正如在相关问题中所建议的。我想补充一点,我也有同样的问题,通过使用
conda update-n base-c defaults conda
更新
conda
可以解决。只想注意,如果您使用
--from history
则不会包括pip包。在这种情况下,有些人可能会找到这个职位。您要做的是关注正在讨论的GitHub问题:我将conda环境降级为pip=9.0.1,并解决了这个问题。