使用其他目录中的函数/类

时间:2018-09-20 12:05:23

标签: python windows python-3.x pycharm anaconda

如果这很重要,我正在运行WindowsAnacondaPyCharm

我的目录如下:

\MyMainDirectory
    \FunctionsLibrary
         ClassA.py
         ClassB.py
         functionA.py
         functionB.py
    \Project A
        main.py
    \Project B
        main.py

如何通过此目录设置使用例如我的文件functionA.py等中的ClassA.pye.g. \Project A\main.py, \Project B\main.py等?

我想在单独的项目“ Project A”和“ Project B”中使用一些通用的函数和类。

请注意,“项目A”和“项目B”是PyCharm中的两个不同项目。

感谢您的帮助!

3 个答案:

答案 0 :(得分:1)

您可以使用'sys'包含路径

# In your main.py
import sys
sys.path.append("../FunctionsLibrary")
import ClassA
import ClassB

答案 1 :(得分:1)

我认为我找到了最好的解决方案(至少对我的应用程序来说,但也可能对其他人来说)是创建由不同项目使用的类或函数集的包(模块)。

然后仅安装您已构建的软件包(模块)。我只是遵循了该指南,效果很好。

https://packaging.python.org/tutorials/packaging-projects/

请注意:您不必将代码上传到github,也可以仅具有软件包的脱机版本。

干杯!

答案 2 :(得分:0)

您可以像这样设置环境变量PYTHONPATH:

export PYTHONPATH=/path/to/FunctionsLibrary:/path/to/Project\ A

并且此python之后也会在此目录中搜索。

如果使用virtualenv,则可以将此导出放置为“激活”文件,也可以使用PyCharm设置环境变量(请参阅设置)。 我更喜欢使用“激活”文件