一劳永逸地将文件夹添加到Python库路径(Windows)

15

我使用

sys.path.append('D:/my_library_folder/')
import mymodule

为了导入某个模块。

如何将文件夹D:/my_library_folder/永久添加到Python库路径中,以便我能够仅使用此文件夹中的模块。

import mymodule

未来会发生什么?

(即使重新启动等操作后也是如此。)


1
将文件夹放入site-packages目录中。 - suhailvs
谢谢。我将在site-packages中创建一个文件夹的符号链接。 - Basj
1
您还需要向文件夹中添加一个空文件__init__.py - suhailvs
是的,我两分钟前才注意到的 ;) (__init__.py) 谢谢! - Basj
如果您将复制/粘贴您的解决方案@suhail到答案中,我可以接受它作为答案。 - Basj
3个回答

9

只需将文件夹放入site-packages目录中。例如:

C:\PythonXY\Lib\site-packages

注意:您需要向文件夹添加一个空文件__init__.py

名为__init__.py的文件用于将磁盘上的目录标记为Python包目录。

如果您有以下文件:

C:\PythonXY\Lib\site-packages\<my_library_folder>\__init__.py
C:\PythonXY\Lib\site-packages\<my_library_folder>\module.py

你可以这样导入module.py中的代码:

from <my_library_folder> import module

如果您删除__init__.py文件,Python将不再查找该目录中的子模块,因此导入该模块的尝试将失败。
如果您有很多文件夹,则在每个文件夹中创建空的__init__.py文件。例如:
C:\PythonXY\Lib\site-packages\<my_library_folder>\
    __init__.py
    module.py        
    subpackage\
        __init__.py
        submodule1.py
        submodule2.py

5

将PYTHONPATH环境变量设置为D:/my_library_folder/


http://docs.python.org/3/tutorial/modules.html 和 http://docs.python.org/2/tutorial/modules.html 都支持PYTHONPATH。 - weisert

2
如果 D:/my_library_folder 是你正在工作的项目并且有一个安装脚本,你也可以使用 python setup.py develop。虽然这与问题不完全相关,但我还是建议使用 virtualenv

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接