python 指定源路径来解决import问题的操作


Posted in Python onMarch 04, 2021

用python做大型工程时,经常会出现import问题。比如,当你import另一个py文件时,这个py不存在于你的运行路径下,便会报错。

大概有两种方法:

如果在terminal里,咱们可以通过sys.path.append来添加运行路径;如果在pycharm环境里,咱们可以右键Mark Directory as Sources Root。

举个栗子:vim head.py

def add(a, b):
 return a + b

vim run.py

import head
a = 3
b = 4
c = head.add(a, b)
print(c)

咱们把head.py和run.py放在一个路径下,文件结构如下:

my_path
├── head.py
└── run.py

咱们运行run.py:

cd my_path
python run.py

直接成功运行没有毛病。但是,如果路径关系再复杂点呢?比如

my_path
├── folder_a
│ └── run.py
└── folder_b
└── head.py

如果cd my_path/folder_a,然后python run.py。肯定会报路径错误。这个时候,如果你是用pycharm开发这个工程,你可以直接

python 指定源路径来解决import问题的操作

倒数第三行,mark directory as source root。直接把folder_b设置为一个源根目录,这样folder_b下的文件都可以直接不加前缀地被import。

如果你是在terminal运行,没办法像pycharm那么设计,或者需要从pycharm部署到terminal时,你可以用sys.path.append()来添加源路径。

咱们只需要添加两句:

import sys
sys.path.append('../folder_b')
import head
a = 3
b = 4
c = head.add(a, b)
print(c)

只需要开头加两行就可以完成源路径的指定,源路径下的所有py都可以被不加前缀直接import。你学废了吗

补充:Python国内镜像源路径和设置方法

最近学习Python需要安装第三方的库,基本是国外网站,安装缓慢,于是找到了解决方法,记录下来:使用Python国内镜像源路径,可以快速安装。

国内源路径汇总:

清华:https://pypi.tuna.tsinghua.edu.cn/simple

阿里云:http://mirrors.aliyun.com/pypi/simple/

中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

华中理工大学:http://pypi.hustunique.com/

山东理工大学:http://pypi.sdutlinux.org/

豆瓣:http://pypi.douban.com/simple/

使用案例:

例如:pip3 install -i https://pypi.doubanio.com/simple/ 包名

临时使用方式:

可以在使用pip的时候加参数-i https://pypi.tuna.tsinghua.edu.cn/simple

例如:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyqt5,这样就会从清华这边的镜像去安装pyqt5库。

永久修改使用方式:

Linux下,修改 ~/.pip/pip.conf (没有就创建一个文件夹及文件。文件夹要加“.”,表示是隐藏文件夹)

内容如下:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=mirrors.aliyun.com

windows下,直接在user目录中创建一个pip目录,再新建文件pip.ini。(例如:C:\Users\WQP\pip\pip.ini)内容同上。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。如有错误或未考虑完全的地方,望不吝赐教。

Python 相关文章推荐
python基础教程之循环介绍
Aug 29 Python
python从入门到精通(DAY 3)
Dec 20 Python
整理Python 常用string函数(收藏)
May 30 Python
Python将多份excel表格整理成一份表格
Jan 03 Python
python实现壁纸批量下载代码实例
Jan 25 Python
pandas全表查询定位某个值所在行列的方法
Apr 12 Python
python脚本实现验证码识别
Jun 07 Python
利用pandas将numpy数组导出生成excel的实例
Jun 14 Python
Python3中_(下划线)和__(双下划线)的用途和区别
Apr 26 Python
python 实现查找文件并输出满足某一条件的数据项方法
Jun 12 Python
Django用数据库表反向生成models类知识点详解
Mar 25 Python
用python删除文件夹中的重复图片(图片去重)
May 12 Python
python源文件的字符编码知识点详解
Mar 04 #Python
python3判断IP地址的方法
Mar 04 #Python
Python解析m3u8拼接下载mp4视频文件的示例代码
Mar 03 #Python
python和opencv构建运动检测器的实现
Mar 03 #Python
Python3自带工具2to3.py 转换 Python2.x 代码到Python3的操作
Mar 03 #Python
详解python第三方库的安装、PyInstaller库、random库
Mar 03 #Python
聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明
Mar 03 #Python
You might like
使用PHPMyAdmin修复论坛数据库的图文方法
2012/01/09 PHP
php安装swoole扩展的方法
2015/03/19 PHP
php中错误处理操作实例分析
2019/08/23 PHP
[JS]点出统计器
2020/10/11 Javascript
加速IE的Javascript document输出的方法
2010/12/02 Javascript
jQuery on()方法使用技巧详解
2015/04/16 Javascript
基于复选框demo(分享)
2017/09/27 Javascript
浅谈Vue.js中ref ($refs)用法举例总结
2017/12/19 Javascript
JavaScript引用类型Array实例分析
2018/07/24 Javascript
layui实现把数据表格时间戳转换为时间格式的例子
2019/09/12 Javascript
解决vue+ element ui 表单验证有值但验证失败问题
2020/01/16 Javascript
Vue3新特性之在Composition API中使用CSS Modules
2020/07/13 Javascript
JavaScript中layim之整合右键菜单的示例代码
2021/02/06 Javascript
[05:17]DOTA2誓师:今天我们在这里 明天TI4等我!
2014/03/26 DOTA
[01:30]我们共输赢 完美世界城市挑战赛开启全新赛季
2019/04/19 DOTA
[01:05:29]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第二场 1月24日
2021/03/11 DOTA
python统计一个文本中重复行数的方法
2014/11/19 Python
python使用append合并两个数组的方法
2015/04/28 Python
Python实现PS图像调整颜色梯度效果示例
2018/01/25 Python
Python打印“菱形”星号代码方法
2018/02/05 Python
python 脚本生成随机 字母 + 数字密码功能
2018/05/26 Python
pandas实现将dataframe满足某一条件的值选出
2019/06/12 Python
Python中os模块功能与用法详解
2020/02/26 Python
Python基于smtplib协议实现发送邮件
2020/06/03 Python
python将YUV420P文件转PNG图片格式的两种方法
2021/01/22 Python
全面总结使用CSS实现水平垂直居中效果的方法
2016/03/10 HTML / CSS
Html5页面点击遮罩层背景关闭遮罩层
2020/11/30 HTML / CSS
澳大利亚巧克力花束和礼品网站:Tastebuds
2019/03/15 全球购物
世界排名第一的运动鞋市场:Flight Club
2020/01/03 全球购物
新东方旗下远程教育网站:新东方在线
2020/03/19 全球购物
机电专业毕业生推荐信
2013/11/10 职场文书
汽车技术服务英文求职信范文
2014/01/02 职场文书
2014年客服工作总结范文
2014/11/13 职场文书
展览会邀请函
2015/02/02 职场文书
校运会通讯稿
2015/07/18 职场文书
新教师2015年度工作总结
2015/07/22 职场文书