在单独的文件夹中引用python库

在单独的文件夹中引用python库,python,Python,我正在把我所有的库都放到一个名为lib的文件夹中。我的源代码在scr目录中 我的目录结构 Folder -lib -different libraries -scr -main.py 我只想引用我的库,这样我的代码就可以运行。您需要在Python的系统路径中附加一个路径: import os.path import sys sys.path += [os.path.abspath('../lib')] import my_lib 您可以使用sys模

我正在把我所有的库都放到一个名为lib的文件夹中。我的源代码在scr目录中

我的目录结构

Folder
    -lib
       -different libraries
    -scr
       -main.py

我只想引用我的库,这样我的代码就可以运行。

您需要在Python的系统路径中附加一个路径:

import os.path
import sys
sys.path += [os.path.abspath('../lib')]
import my_lib

您可以使用
sys
模块附加路径

import sys
sys.path.insert(0,'/Folder/src')

“将我所有的库放到一个文件夹”是什么意思?如何在那里安装它们?而且,同样重要的是,为什么呢?从
main.py
中,使用
HERE=os.path.dirname(os.path.abspath(_文件__))
,然后使用
sys.path.insert(0,os.path.abspath(os.path.join(此处,“…,”lib'))
更新您的
sys.path
,以包含其他文件夹。这样,无论
文件夹的当前路径是什么,都可以包含正确的绝对文件夹。Im使用codebuild。当我pip这些库时,我必须将它们存储在某个人那里,这样我就可以在我的lambda中引用它们。这不正确吗?这假设当前工作目录是
文件夹
。不要依赖当前的工作目录。@MartijnPieters:Nope,
src
。它依赖于相对路径,这是组织项目的好方法。对不起,是的,
文件夹/src
。不,像这样的相对路径是根据不属于项目的内容(当前工作目录)解析的。您不能指望当前工作目录是
文件夹/src
。它可能完全位于文件系统的其他地方,此时
os.path.abspath('../lib')
将解析为不正确的路径。不要依赖于当前工作目录。相反,请根据从
\uuuuu文件\uuuu
派生的路径显式解析路径。例如,
os.path.dirname(os.path.abspath(\uu文件\uu))
<代码>\\\\\\\\/code>可以是绝对路径或相对路径,但如果它是相对路径,则Python会将其设置为相对于当前工作目录,因此可以依靠它来正确解析。@MartijnPieters:“完全在文件系统的其他地方”不是问题。Python的优点并不是过于泛化。