V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
ispinfx
V2EX  ›  Python

Python 一边开发包一边引用它自己的正确姿势是?

  •  
  •   ispinfx · 2016-03-03 23:31:29 +08:00 · 2184 次点击
    这是一个创建于 3181 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Python 新手。比如写一个包叫 package ,里面有 src/example/test 等。我想在 example 或 test 里面直接写 import package as pkg. 之所以想这样,是我看到别人写的包都是这样的。。而不需要在 test1.py 或 example1.py 里使用相对路径 import 或修改 sys.path 。

    1. 如果将这个包打包并安装好,引用是没问题的,但总不可能一边开发一边修改又再打包吧?
    2. 修改 sys.path 让它 import 源文件,而不是安装好的包?这样是需要在 test1.py 这些里面添加 sys.path.append 这些代码?能不能不加?

    所以正确姿势是应该使用 1 还是 2 ?还是其它方法?主要因为我是一边写一边用 emacs 来 eval ,希望可以一边改一边引用最新的。

    6 条回复    2016-03-05 11:19:18 +08:00
    ispinfx
        1
    ispinfx  
    OP
       2016-03-03 23:59:53 +08:00
    -.-

    python setup.py develop
    raptium
        2
    raptium  
       2016-03-04 00:04:23 +08:00 via iPhone   ❤️ 1
    pip install -e .
    ruoyu0088
        3
    ruoyu0088  
       2016-03-04 06:58:31 +08:00
    我是用 PYTHONPATH 环境变量
    kinghui
        4
    kinghui  
       2016-03-04 15:08:11 +08:00
    $ tree package
    package
    |-- __init__.py
    |-- script.py
    |-- lib.py

    $ cat package/script.py
    from package.lib import xxx
    from .lib import xxx
    $ python -m package.script
    julyclyde
        5
    julyclyde  
       2016-03-04 23:35:38 +08:00
    所谓打包安装其实也是再展开放在指定位置的啊
    calease
        6
    calease  
       2016-03-05 11:19:18 +08:00
    PyCharm 写的时候可以直接引用。
    打包用 bootstrap + buildout
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5510 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 07:36 · PVG 15:36 · LAX 23:36 · JFK 02:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.