【转载:python的调用与pip打包】python的import与pip详解

我碰到的问题:在跑这个代码https://github.com/wkentaro/pytorch-fcn的时候,里面有import torchfcn这句,但是项目的组织下有torchfcn这个库,所以不知道import调用的到底是pip之后的库,还是项目本地的torchfcn。另一个是egg-info、dist-info这些经常出现的文件夹,并不知道其含义,所以记录别人的链接,多为转载。

1. python的调用

知乎这篇介绍的很好很详细python的import详解

这里的import调用顺序解决了我第一个问题:

首先检查是否是内置库,即在sys.builtin_module_names中搜索,返回第一个找到的结果
其次顺序在sys.path中搜索,排在前面的优先被找到,返回第一个找到的结果

2. Anaconda虚拟环境中pip的使用

我虚拟环境下在pip install .的时候,不同服务器的结果不同。第一个安装到了~/.local/lib/python3.6/site-packages/下,另一个是装到了/usr/local/anaconda3/envs/myenvs/lib/下。

我认为这是版本的问题,后者是旧版本会提示

  DEPRECATION: A future pip version will change local packages to be built in-place without first copying to a temporary directory. We
recommend you use --use-feature=in-tree-build to test your packages with this new behavior before it becomes the default.

说实话我也不懂怎么知道往哪里装,两个链接说了但是没看懂。
请问大神们,pip install 和conda install有什么区别吗?
conda 虚拟环境python的sys.path包含了~/.local/lib,如何解决?

但是可以用import xxx print(xxx.__path__) 来看包安装的位置

另外setup.py用了#!/usr/bin/env python,作用可见#!/usr/bin/env python 有什么用?

3. pip 的打包与发布

python核心 - 打包与发布

Python学习第三十六天记录打call:模块打包

猜你喜欢

转载自blog.csdn.net/a_piece_of_ppx/article/details/125021965