PyCharm - 动态导入重映射
我正在处理一些Boost-Build文件(实验性的Python构建),并试图在PyCharm中正确设置环境。Boost-Build有一个src文件夹,结构大致如下:
\---src
+---build
+---contrib
+---kernel
+---options
+---tools
| +---doxygen
| +---types
| \---xsltproc
\---util
当我运行b2这个可执行文件时,它会做一些魔法,把src
目录设置为一个可以导入的Python模块,叫做b2
。这样你就可以像平常一样进行Python导入:
from b2.util import bjam_signature
问题是,在我所有的Python文件中,PyCharm并不识别b2
这个包,因为实际上,b2
包就是src
目录。所以,我在PyCharm中遇到了一堆未解决的引用
错误。
有没有什么办法可以让PyCharm把src
目录识别为b2
包呢?(不想用简单粗暴的方法直接把src
目录重命名为b2
)
2 个回答
0
最简单的方法就是你提到的那样,直接把src文件夹重命名就行。你也可以尝试下面这种做法:
import src as b2
不过,这样做并不能解决from b2 import的问题。我在深入研究后找到的另一个解决方案在这篇帖子里:
基本上,你可以修改sys.modules来指向新的名称。我猜这个方法可能只在脚本运行时有效,但你可以试试看。
0
这可能不是最好的方法,也不是最适合PyCharm的做法,但我最终在我的 Python27\Lib\site-packages
目录下创建了一个叫 b2
的符号链接,这个链接指向了 src
文件夹。现在我不会再遇到找不到导入的错误,也能正常使用函数自动补全了。