这将是一个多部分的问题,但最终的目标是我可以访问定制的模块/库/函数,就像我在本机python中一样.
pip
存储非本地但安装的python库的位置以及如何配置我的解释器/ IDE来访问它们?
我的用户脚本全部以:
#!/usr/bin/env python -*- coding: utf-8 -*-
访问/usr/bin
和/usr/bin/env
将要导入的定制模块(如本机python模块/包)之间的区别是什么?
我的自定义脚本应该成为包吗?如果是这样,我如何制作用户端代码,检查ImportError
并安装/设置这些软件包try-except
?例如
try: import module_x except ImportError: # Install package, but how to do it within the script? pass
有没有地方存储我的自定义脚本,以便它像本机库一样导入?如果是的话,在哪里?有什么后果?
好吧,你问了很多问题; 我将解决主题行中的问题.
您可以将Python模块文件放在任何您想要的位置import
,只要它们位于模块搜索路径中,它们就没有任何问题.您可以通过PYTHONPATH
在调用Python之前更改shell中的环境变量,或者通过更改代码中的sys.path变量来影响模块搜索路径.
所以,如果你已经安装/home/alvas/python/lib/module_x.py
并且/usr/local/python/lib/foo.py
你可以运行:
PYTHONPATH=/home/alvas/python/lib:/usr/local/python/lib /home/alvas/scripts/bar.py
然后是陈述
import module_x import foo
应该只是工作.
或者,您可以在代码中执行以下操作:
#!/usr/bin/env python import sys sys.path.append('/home/alvas/python/lib') import module_x sys.path.append('/usr/local/python/lib') import foo
这两种方法都有效.