Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从不同的目录获取依赖项_Python - Fatal编程技术网

Python 从不同的目录获取依赖项

Python 从不同的目录获取依赖项,python,Python,我一直在开发一段代码,现在它工作得很好。。需要在生产环境中部署。 但是代码还没有准备好生产。。早些时候,我把所有的文件都放在同一个目录下,我正在调用我构建的所有库来进行我编写的一个单元测试。 但现在我被要求把它们清理干净。 所以早些时候我的目录结构就像有任何结构一样 .../project_name/allthecode.py 这就是我的新目录结构 .../project_name/bin/unit_test.py .../project_name/lib/native/all_the_li

我一直在开发一段代码,现在它工作得很好。。需要在生产环境中部署。 但是代码还没有准备好生产。。早些时候,我把所有的文件都放在同一个目录下,我正在调用我构建的所有库来进行我编写的一个单元测试。 但现在我被要求把它们清理干净。 所以早些时候我的目录结构就像有任何结构一样

 .../project_name/allthecode.py
这就是我的新目录结构

.../project_name/bin/unit_test.py
.../project_name/lib/native/all_the_libraries_i_developed.py's   
.../project_name/lib/third/all_the_third_parties_code.py's
现在。。如何将本机和第三方中的库调用到bin/unit_test.py

另外,我不想硬编码这个路径。。因为它将在以后的生产环境中部署..qa环境..所以我正在寻找一些小故障

at unit_test.py... go up one level (.../project_name)
now go down one level  (..../project_name/lib)
From ths point move down to native and third...
更像是对目录的相对搜索? 我如何在python中得到这个
谢谢

hmmm。ok找到了答案

#get current working directory
cur_dir = os.getcwd()
#move up one level
os.chdir("..")
new_cur_dir = os.getcwd()
#move down to native
os.chdir("lib")
 os.chdir("native")
参考:

考虑为每个库创建setup.py文件:

/project_name/lib/native/x/setup.py

from distutils.core import setup

setup(name='x',
      version='1.0',
      packages=['x'],
     )
除了在开发模式下安装python setup.py develope之外,还可以阅读更多内容

当您这样做时,您可以从任何地方简单地导入x,但是对本地代码的任何更改都将影响整个环境

在生产环境中,即使在virtualenv中,也可以轻松地安装软件包,而且不会发生任何更改

不鼓励复杂的相对导入