2020-04-27 如何区分python3.7中pip的相关操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2020-04-27 如何区分python3.7中pip的相关操作相关的知识,希望对你有一定的参考价值。

参考技术A 在安装完 Python3.7 后,会在 Python37\Scripts 目录下发现有三个 pip 开头的 exe ,分别是:

1. pip

2. pip3

3. pip3.7

那么为什么会有三个呢?明明不是只有一个pip就可以吗?

原因是为了 兼容 。

比如Linux或Mac系统下本来已经预装了Python2.7的版本,后来我们自己又装了3.7的版本。

而因为系统其它组件或程序需要依赖2.7版本,并不希望我们把它给替换掉。

那么只能折衷做兼容处理,给它们加上后缀,以示区分:

如果同时装有 python2 和 python3

pip 默认给 python2 用。

pip3 指定给 python3 用。

如果同时安装多个3的版本的话,比如3.5 3.6 3.7。则用pip3明显不合适,这个时候就可以用pip+版本后缀来明确指出具体版本的pip了。

如果只装有 python3

则pip和pip3、pip3.7是 等价 的。

打开cmd,通过cmd打开python

点击我的电脑,高级系统设置,用户变量

主要修改用户变量。修改如下。选中【Path】点击【编辑】,增加Python3和Python3/scripts的环境变量.

即可正常使用 pip3 pyhton。

python -m 会指定你当前使用的python版本

python -m pip install torchtext(包名)

如何区分python中的导入和函数定义?

我正在写一个python函数,它可以在一个文件列表中搜索带有特定装饰符的文件。我把模块抓过来。

# Load modules from files
loader = machinery.SourceFileLoader(file_name, file_path)
spec = util.spec_from_loader(loader.name, loader)
module = util.module_from_spec(spec)
loader.exec_module(module)

# fetch functions
functions = [function for function in dir(module)]

但我有以下问题

file1.py

@dork
def does_something():
   pass

file2.py

from file1 import does_something

所以当我搜索装饰符时,我得到两个路径:'file1.does_something''file2.does_something'。

当我只想要file1的路径时。有没有办法区分实际函数和导入?

答案

"如何区分python中的导入和函数定义?" 在你分析这个问题的层面上,这并不是一个区别。该 同功能对象 的名字空间中,存在两个 不同模块对象. 这是一个需要分析的区别。源码,而不是模块对象。

不过这里有一个潜在的黑客,检查是否。

func.__module__ == module.__name__

以上是关于2020-04-27 如何区分python3.7中pip的相关操作的主要内容,如果未能解决你的问题,请参考以下文章

Python3.7之封装

CF刷题:2020:04:27: ~ 2020:05:03 (期间日更)

2020-04-27自我提升的里程碑

如何在 Python3.7 docker 容器中执行并行 PostgreSQL 查询?

QQ音乐播放链接获取(2020-04-27)

如何自制Python3.7版 TensorFlow?