Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 当pip安装-e成功时,为什么从github安装pip失败?_Python_Pip_Conda - Fatal编程技术网

Python 当pip安装-e成功时,为什么从github安装pip失败?

Python 当pip安装-e成功时,为什么从github安装pip失败?,python,pip,conda,Python,Pip,Conda,有一个git repo,我可以通过克隆并运行pip install-e/path/to/LammpsIO以“可编辑”模式安装。当我这样做时,我能够在python中成功地运行import LammpsIO 但是,当我使用pip install git直接从github进行pip安装时+https://github.com/Ivancic91/LammpsIO.git我遇到了问题。实际的pip-install命令看起来成功,并显示通常的成功消息: Successfully built LammpsI

有一个git repo,我可以通过克隆并运行
pip install-e/path/to/LammpsIO
以“可编辑”模式安装。当我这样做时,我能够在python中成功地运行
import LammpsIO

但是,当我使用
pip install git直接从github进行pip安装时+https://github.com/Ivancic91/LammpsIO.git
我遇到了问题。实际的
pip-install
命令看起来成功,并显示通常的成功消息:

Successfully built LammpsIO
Installing collected packages: LammpsIO
Successfully installed LammpsIO-0.0.1
但是当我尝试导入LammpsIO时,我得到了
modulenofounderror:没有名为'LammpsIO'的模块

我认为这可能是某种路径错误,但是
哪个pip
哪个python
都指向同一个conda环境文件夹

这里还有一些输出,以防有人需要

pip安装git+之后,…

  • conda列表
    返回:
  • krb5 1.16.3 h24a3359_1000康达锻造厂
    lammpsio 0.0.1 pypi_0 pypi
    libcurl 7.64.0 h76de61e_0康达锻造厂

  • pip列表
    返回:
  • 猕猴桃1.0.1
    LammpsIO 0.0.1
    MarkupSafe 1.1.0

    pip安装-e…
    之后:

  • conda列表
    返回:
  • krb5 1.16.3 h24a3359_1000康达锻造厂
    lammpsio 0.0.1开发0 libcurl 7.64.0 h76de61e_0康达锻造

  • pip列表
    返回:
  • 猕猴桃1.0.1
    LammpsIO 0.0.1/path/to/LammpsIO/src
    MarkupSafe 1.1.0

    我猜这与LammpsIO的非传统结构有关,它的
    setup.py
    文件包含:

    package_dir = {'': 'src'},
    packages = find_packages(where='src'),
    

    但是我很惊讶,github的pip安装在
    pip安装-e/path
    起作用的地方失败了。

    你的推理在这里似乎是正确的。我认为你所尝试的会奏效。我创建了一个新的virtualenv,并尝试自己安装github。然后我查看了站点包。我看到的很奇怪。有一个包含基本元数据的“LammpsIO-0.0.1.dist info”目录,但没有Lammps包本身。我找到了-iname“*mmps*”,仅获取该信息目录。看来这个软件包实际上并没有安装当我做“pip列表”时,LammpsIO确实出现了

    如果您通过下载一个zip并执行“pip install[zip]”来“安装”包,那么您将从pip获得相同的输出,并最终遇到相同的问题。因此,它与直接从github安装无关。这与实际安装软件包有关,而不是仅仅将其源代码链接到您的环境中


    我猜Lammps安装程序已经坏了-因为'-e'没有安装任何东西,只是创建了一个链接,这就解释了为什么它可以正常工作,而常规安装却不能。

    对于future me或future任何其他人,修复项目结构和setup.py文件解决了这个问题。真是个诡计,哈!我喜欢!您修复了安装程序的问题。太酷了。这既解决了你的问题,也让我知道我的诊断是正确的。我印象深刻。我不认为我会冒险去修理别人的工作。我不确定我是否遗漏了什么,而且安装程序实际上没有损坏。我们是一个伟大的团队!谢谢,但公平地说,即使这是其他人的软件包,我也是提出请求添加原始损坏安装程序的人:)我刚刚修复了我自己的损坏工作……哎呀!-嗯,很高兴我能帮你解决你的拉动请求,哈哈。当我说安装程序坏了的时候,我从来都不知道我在谈论你的工作。我所说的采取主动仍然是正确的:)