当不在常规位置时,如何通过python setup.py development查找用于python模型安装的.egg-link文件?
我可以从repl加载模块并查看其指向的文件。我不应该这样做。我将其卸载为AFAIK。
编辑:我在两台不同的机器上。以为我在iterm上一直在使用tmux,但是忘记了我不是。希望这对以后的人有所帮助。
答案 0 :(得分:0)
创建 init .py并将其他文件保存在文件夹名称lib中。然后您可以使用
setup.py build egg
答案 1 :(得分:0)
下面是一个脚本,该脚本可找到您.egg-link
上当前的PATH
:
import os
import sys
for p in sys.path:
if os.path.exists(p):
for f in os.listdir(p):
if f.endswith('.egg-link'):
print(os.path.join(p, f))
它通过遍历所有sys.path
条目来工作。这是一个示例,其中我pip install -e .
的克隆中有pre-commit
:
>>> sys.path
['', '/home/asottile/workspace/pre-commit/venv/lib/python36.zip', '/home/asottile/workspace/pre-commit/venv/lib/python3.6', '/home/asottile/workspace/pre-commit/venv/lib/python3.6/lib-dynload', '/usr/lib/python3.6', '/home/asottile/workspace/pre-commit/venv/lib/python3.6/site-packages', '/home/asottile/workspace/pre-commit']
其中一些路径是虚假的(例如...python36.zip
),因此我们需要用os.path.exists(...)
过滤掉这些路径
此后,我们搜索每个目录中的文件并打印出以.egg-link
结尾的任何文件
就我而言:
$ python3 t.py
/home/asottile/workspace/pre-commit/venv/lib/python3.6/site-packages/pre-commit.egg-link