如何添加Python的模块搜索路径

如何添加Python的模块搜索路径,第1张

方法一:函数添加

1 import sys

2 查看sys.path

3 添加sys.path.append("c:\\")

方法二:修改环境变量

w用户可以修改系统环境变量PYTHONPATH

方法三:增加.pth文件,推荐!

在site-packages添加一个路径文件,如mypkpath.pth,必须以.pth为后缀,写上你要加入的模块文件所在的目录名称就是了。

1 windows

c:\python27\site-packages

# 我们的学员把pth文件直接放在c:\python27

# (或其他python安装目录)目录下测试也是有效的

# 2015.9.23

2 linux(ubuntu)

/usr/local/lib/python2.7/dist-packages (note by shanql, 我是放在这个目录下有效的,所添加的目录一定要存在,不存在则会不成功)

2 linux(redhat)

/usr/lib/python2.7/site-packages

在 `vn.py` 中,可以通过添加应用模块来扩展其功能。应用模块是一个独立的 Python 模块,它可以包含自定义的交易策略、数据源、数据处理等功能,可以通过 `vn.py` 的框架进行调用和管理。

下面是添加应用模块的步骤:

1. 创建一个 Python 模块,例如 `my_strategy.py`,并在其中编写自定义的交易策略代码。可以参考 `vn.py` 中自带的策略模块 `vnpy.app.cta_strategy` 中的代码进行编写。

2. 在 `vn.py` 的配置文件 `vt_setting.json` 中添加应用模块的配置信息。例如,在 `modules` 部分添加以下配置信息:

```

{

"module_name": "my_strategy",

"module_path": "path/to/my_strategy.py",

"auto_init": true

}

```

其中,`module_name` 表示应用模块的名称,`module_path` 表示应用模块的 Python 文件路径,`auto_init` 表示是否在启动时自动初始化该模块。

3. 在 `vn.py` 的主程序中添加应用模块的加载代码。例如,在 `vnpy.trader.engine.mn` 中添加以下代码:

```

from vnpy.trader.app import BaseApp

from my_strategy import MyStrategyApp

app = MyStrategyApp()

engine.add_app(app)

```

其中,`MyStrategyApp` 是自定义的应用模块类,需要继承 `BaseApp` 类并实现相应的方法。`engine` 是 `vn.py` 的主引擎实例,通过 `add_app` 方法将应用模块添加到主引擎中。

4. 启动 `vn.py`,应用模块将自动加载并运行。可以通过 `vn.py` 的界面或命令行进行交易策略的配置和管理。

需要注意的是,添加应用模块需要一定的 Python 编程经验和 `vn.py` 的框架理解。建议在熟悉 `vn.py` 的基本用法和框架后再进行应用模块的开发和添加。

本人python菜鸟一枚,在学习python过程中,经常要按照教程编写一些模块和函数练手,刚开始只是在python shell中编写,但是如果出错就会非常悲剧,又要从头开始编,而且重启python后也要重新编写模块。所以希望能像bash编程那样将脚本路径添加到环境变量中,这样修改起来也方便。以下内容均来源于网络及本菜鸟。

摘要:本文叙述了如何在linux环境下添加python模块的路径,第1部分介绍了如何查看python环境变量,第2部分介绍了如何将脚本放入python自带的环境变量目录中,第3部分介绍了如何将目录放入python的环境变量中重启python失效,第4部分介绍了如何为python添加永久环境变量目录。这些方法可以使模块的修改和重复使用更加方便,不用重复输入。

​1、首先,可以用python中的内建模块sys来查看python的环境变量。

​这些目录都是python的环境变量。

2.接下来本菜鸟尝试一下如果将提前写好的python脚本放入这些目录中,能不能在python中使用。别问为什么跑题,本菜就想试一试^ -^。

选择/usr/local/lib/python2.7/dist-packages/pip-7.1.2-py2.7.egg这个目录,脚本名为my_module.py,里面只有一个名为c_to_f的函数,用来计算从摄氏温度转换为华氏温度。

​可以看到,脚本已经位于刚开始选定的的目录下了。

我们现在来看看,在python中导入这个模块。并按照“模块.函数”的格式使用函数。

​可以看到,导入模块成功,其中的c_to_f函数也正确使用,10摄氏度=50华氏度。或者你在确定函数名不重名的前提下,可以from my_module import c_to_f,这样就可以直接使用函数c_to_f,而不需要模块名作为前缀。

实验成功,将脚本导入python自带的环境变量目录中是有效的​,如果之前运行了python,再导入后并不用重启python就可以导入模块。

3.接下来​我们回归正题,如何自定义python环境变量目录。最直接的想法是把目录加到刚才的python环境变量中。可以使用sys.path.append('/.../....')。

​然后再次查看path路径,发现"/home/sh/python"目录确实加入了。并且也可以使用。但是这种方法一旦退出python,刚才新加的目录就消失了。

4.接下来介绍一种一劳永逸的方法,就是直接修改系统变量。

export PYTHONPATH=$PYTHONPATH:/..../..../​,对,没错,直接在shell中敲这一行,目录是你自定义的目录,然后打开python,import my_module,你就愉快的可以使用自定义的模块了。

http://blog.sina.com.cn/s/blog_959cf80d0102vx3j.html


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11217136.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存