怎么模拟pip下载后的模块的效果
例如json模块(位置:D:\Python\Python37\Lib\json)我们导入json时 ,是直接import json的 ,这是怎么做到的?
我也想写自用的模块 ,然后直接import '我自己分类的文件夹作为的模块名' .但视频教的方法 ,它需要 :文件夹名.模块名(.py文件名)
或者说 ,有什么办法能模拟导入json是的那种导入效果 ,来导入自己的python模块文件么?(需要能自己用文件夹给不同作用的自用python文件分组 ) 本帖最后由 丨游戏灬需要 于 2020-10-12 08:19 编辑
试出来了 ,答案是这样的:
原本视频教的是 __init__为空 ,而如果想要像import json一样的话(可以看到 ,在D:\Python\Python37\Lib里 ,json其实是个文件夹 ,所以我们导入的是个''文件夹'' ,而不是文件夹里的模块)
但实际上 ,将源代码放入 __init__.py里就对了 ,这样导入文件夹时 ,就能用代码写的函数了
顺便 ,你们所说的
import sys
sys.path.append('你的import的文件夹的路径')
和把'自己写的模块'放入D:\Python\Python37\Lib文件夹也一样 ,因为你想优化修改的时候又得跑过去
所有都太麻烦了
这才是正解的操作:
知乎:https://www.zhihu.com/question/68708279
匿名用户
添加PYTHONPATH确实是有效的,sys.path没有出现我添加的路径是因为,我没有重启windows shell。。。原地蒙圈
----------------------------------------------------------------------------------------------
还可以在site-pakage文件夹下面用记事本新建一个后缀.pth文件,在里面写上你想要添加的 路径名,不需要引号,一行一个路径。
编辑于 2017-11-27
site-pakage 在\Python37\Lib里
在site-pakage 建立后缀名为.pth文件 ,里面写入你要''永久添加''的路径就行了 ,文件名无所谓(叫做'新建文本文档'都行)
将自己写的模块(.py文件放到一个文件夹里)然后在文件夹里新建一个空的.py文件,命名为__init__.py
然后在编译器里输入
import 文件夹名.py文件名#就可以导入了 昨非 发表于 2020-10-11 21:15
将自己写的模块(.py文件放到一个文件夹里)然后在文件夹里新建一个空的.py文件,命名为__init__.py
然后 ...
这个不合我要求 ,限制有些大
(不手动在D:\Python\Python37\Lib\site-packages设置'永久路径'的话) ,就必须得和import它的.py文件在同一个位置
而且,不能建立文件夹进行统一管理(否则得import 文件夹名.文件夹名.py文件名 ,就显得很繁琐)
而如果能建立文件夹的话(文件夹名=要import的模块名) ,就能在文件夹里面存放备份 ,文档 ,文件说明等内容 丨游戏灬需要 发表于 2020-10-11 21:33
这个不合我要求 ,限制有些大
(不手动在D:\Python\Python37\Lib\site-packages设置'永久路径'的话) ,就 ...
额,我是放在同一位置的,,没考虑这么多,打扰了{:10_284:} import sys
# sys.path是个列表,里面保存着模块的搜索路径
sys.path.append(你模块所在文件夹路径)
# 然后就可以直接导入你的模块了
或者将你的模块放到Python模块安装的文件夹也可以,例如C:\Python38\Lib\site-packages\
# 再有就是将你的模块打包成安装包,安装到Python环境,这个步骤比较多 可以建立文件夹进行统一管理 那个叫包 不叫模块{:10_258:}
可以看我最近在写的一个包 https://github.com/nanarino/eleme_reapi/tree/meituan_reapi kogawananari 发表于 2020-10-12 00:49
可以建立文件夹进行统一管理 那个叫包 不叫模块
可以看我最近在写的一个包 https://github.com/ ...
重要的是效果 ,怎么做到像import json 的那种效果才是重点........... 丨游戏灬需要 发表于 2020-10-12 01:09
重要的是效果 ,怎么做到像import json 的那种效果才是重点...........
就是import 文件夹名字啊{:10_284:} kogawananari 发表于 2020-10-12 01:29
就是import 文件夹名字啊
你说的和2楼的有什么区别?..... Step1.给你打包好的模块取一个恰当的名字
Step2.装到一个你认为合适的路径(例如:"D:\mine\shell.py")
Step3.在D:\mine下建立__init__.py,内容可以留空
Step4.直接将这个文件夹导入到sys.path里头(用刚才那个例子:)
Step4代码如下:
import sys
sys.path.append("D:\\mine")
Step5.回车,然后import 模块名就可以啦。
如果不会的话我可以录个视频操作。 本帖最后由 丨游戏灬需要 于 2020-10-12 08:10 编辑
刘宗睿 发表于 2020-10-12 06:26
Step1.给你打包好的模块取一个恰当的名字
Step2.装到一个你认为合适的路径(例如:"D:\mine\shell.py")
Ste ...
看清楚题目 ,不是这个 ,或者你看看楼层的回复你也能知道啊....
你打开json源文件的地址(D:\Python\Python37\Lib\json)看看就知道了...
算了 ,我试出来了 .你们说的答案都一样 ,都很相近 ,但都不是 ,关键没说出来.......
页:
[1]