Python 如何导出包含已从github安装的pip包的conda环境?

Python 如何导出包含已从github安装的pip包的conda环境?,python,github,pip,conda,Python,Github,Pip,Conda,我知道我可以使用如下语法导出conda环境: conda env export -n my_env -f /somewhere/environment.yml 并将其与以下文件一起导入: conda env create -f /somewhere/environment.yml -p /somewhere/else/ 但是,如果有一个包是我从我的私有github安装的: 或者在我的requirements.txt中有这样的内容: aiofiles==0.4.0 git+https://gi

我知道我可以使用如下语法导出conda环境:

conda env export -n my_env -f /somewhere/environment.yml
并将其与以下文件一起导入:

conda env create -f /somewhere/environment.yml -p /somewhere/else/
但是,如果有一个包是我从我的私有github安装的:

或者在我的
requirements.txt
中有这样的内容:

aiofiles==0.4.0
git+https://github.com/user/my_package.git@master#egg=my_package
chardet==3.0.4
当我进行导出时,我看到:

name: my_env
channels:
  - defaults
dependencies:
  - ca-certificates=2019.5.15=0
...
  - pip:
    - aiofiles==0.4.0
    - my_package   # UH OH, NO github INSTRUCTION OR VERSION
    - chardet==3.0.4
这是一个问题,因为当我尝试运行时:

conda env create -f /somewhere/environment.yml -p /somewhere/else/
我收到一个错误,康达无法安装,因为它找不到
我的\u包
。这是有道理的,环境不会告诉它在github中查看

如何要求
conda env export
命令了解github pip安装,以便在导出失败的情况下忠实地重新创建conda环境?(或者,即使这样做,我也不会创建注定要失败的导出?也就是说,此导出需要相当长的时间——如果导出命令在花费数十分钟生成无法导入的导出之前快速失败,这将非常有用。)


与之不同,我没有使用轮子。

我刚刚测试了这个,可以确认它对我也不起作用。然而,我要注意的是,激活env并运行
pip freeze
也无法提供GitHub URL,这让我觉得这确实是一个pip问题。
pip-freeze
对你来说表现如何?@merv
pip-freeze
会冻结这个,您将在冻结的文本文件中看到类似的内容:
-egit+https://github.com/rcmalli/keras-vggface.git@6943be9d81396ab4083ecff4a8014e99d59b502c#egg=keras#u vggface
实际上我测试过:在完成
conda env export>environment.yml之后,只需手动修改文件并将
-e吉特+https://github.com/rcmalli/keras-vggface.git@6943be9d81396ab4083ecff4a8014e99d59b502c#egg=keras#u vggface
将内容作为yml文件中pip列表的一项,然后您将能够使用此yml正确复制新的conda环境file@lnshi是,同意:如果以开发模式安装(即使用
-e
)然后它会出现,但除此之外它似乎不会出现。
conda env create -f /somewhere/environment.yml -p /somewhere/else/