在https://github.com/Ivancic91/LammpsIO有一个git,我可以通过克隆和运行pip install -e /path/to/LammpsIO
以“可编辑”的方式安装它。当我这样做时,我能够在python中成功地运行import LammpsIO
。
但是,当我使用pip install git+https://github.com/Ivancic91/LammpsIO.git
直接从github安装时,会遇到问题。使用通常的成功消息,实际的pip install
命令看起来很成功:
Successfully built LammpsIO
Installing collected packages: LammpsIO
Successfully installed LammpsIO-0.0.1
但是当我尝试导入LammpsIO时,我得到了ModuleNotFoundError: No module named 'LammpsIO'
。
我认为这可能是某种路径错误,但是which pip
和which python
都指向同一个conda环境文件夹。
这里还有几个输出,以防有人需要它们。
pip install git+...
后
conda list
返回:krb5 1.16.3 h24a3359_1000 conda锻造
pypi_0 pypi 0.0.1
libcurl 7.64.0 h76de61e_0 conda-forge
pip list
返回:基维隔离器1.0.1
LammpsIO 0.0.1
MarkupSafe 1.1.0
pip install -e ...
后
conda list
返回:krb5 1.16.3 h24a3359_1000 conda锻造
dev_0 libcurl 7.64.0 h76de61e_0 conda锻件
pip list
返回:基维隔离器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 install -e /path
工作的地方失败了。
发布于 2019-02-23 12:09:53
你的推理在这里似乎是合理的。我认为你想要的东西会奏效。我创建了一个新的virtualenv,并亲自尝试了github安装。然后我查看了现场包裹。我看到的是奇怪的。有一个包含基本元数据的'LammpsIO-0.0.1.dist-info‘目录,但是没有Lammps包本身。我在站点包中找到了'find . -iname‘*mmp*’,并且只得到了那个信息目录。所以这个软件包似乎并没有真正安装。-当我做“点子列表”时,LammpsIO确实出现了。
如果您通过下载zip并执行“”来“安装”软件包,那么您将从pip获得相同的输出,并最终出现相同的问题。因此,它与直接从github安装无关。这与实际安装软件包vs只是将其源代码链接到您的环境有关。
我的猜测是,Lammps安装程序刚刚坏了-因为'-e‘没有安装任何东西,但只是创建一个链接,这可以解释为什么它可以工作,但常规安装不能。
https://stackoverflow.com/questions/54845408
复制