我碰到的问题:在跑这个代码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 有什么用?