当我用pip安装python模块(例如mediafile
)时,我可以这样导入它:
from mediafile import MediaFile
而且它工作得很好
但是我将它安装到另一个位置(pip install --target="C:/msys64/home/myname/myprogram/tools/mediafile/" mediafile
),我只能这样导入它:
from tools import mediafile
而导入MediaFile
就是不起作用。(我尝试了from tools.mediafile import MediaFile
和其他一些变体,但没有成功)
这是一份报告:
ImportError: cannot import name 'MediaFile' from 'tools.mediafile' (unknown location)
当我尝试使用mediafile.MediaFile
时,它会出现以下错误:
AttributeError: module 'tools.mediafile' has no attribute 'MediaFile'
你知道我哪里把语法弄错了吗
命令
pip install target=/path/to/package mypackage
将在您指定的目录(即/path/to/package/mypackage
)内安装程序包。在您的情况下,它可能位于C:/msys64/home/myname/myprogram/tools/mediafile/mediafile
如果是这种情况,您应该能够使用以下工具导入:
但不要这样做-相反,你应该删除它并重新安装
那么您应该可以使用
正如您所发现的那样,上述方法的问题在于,软件包只需要使用} 环境变量中。有关如何在Windows中执行此操作,请参见例如^a2}
import dependency
就可以导入它们自己的依赖项—它们不知道您的tools
目录。要解决此问题,并使您自己的导入更容易,您需要将目录添加到^{或者,您可以将其添加到脚本本身中:
但是,设置PYTHONPATH是实现这一点的首选方法
请注意,我假设您如上所述删除并重新安装了
mediafile
,因此您的目录结构应该是:相关问题 更多 >
编程相关推荐