V2EX 首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
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
V2EX  ›  Python

pycharm 如何禁止使用 setup 安装的包而引用项目中的代码运行

  •  
  •   xielongen · 68 天前 · 961 次点击
    这是一个创建于 68 天前的主题,其中的信息可能已经有所发展或是发生改变。

    使用 python setup 安装了自己开发的包,但是接下来 import 到的都是安装的包,无法使用项目中修改代码后的包。希望安装的包给其它人用,而自己开发时屏蔽掉。求解决这个问题的最佳实践

    28 回复  |  直到 2017-07-21 07:36:52 +08:00
        1
    whileFalse   68 天前
    import json

    import ".json"

    我记得是这样
        2
    whileFalse   68 天前
    try:
    import '.mypackage'
    except:
    import mypackage

    我是这个意思
        3
    xielongen   68 天前
    我不希望修改代码,这样需要修改很多地方
        4
    lights   68 天前 via iPhone
    好像有一个 project setting ?可以设置当前项目的 sdk 之类的,应该能解决楼主的问题吧
        5
    mkeith   68 天前   ♥ 1
    virtualenv 使用不同的环境呢
        6
    xielongen   68 天前
    @mkeith 这样需要搞两个 env,还有同步的维护问题
        7
    xielongen   68 天前
    @lights sdk, 那不是 java 的东西吗
        9
    walleL   68 天前   ♥ 1
    1. 使用 pip install -e 安装
    2. 不安装,在项目目录下做一个链接
        10
    xielongen   68 天前
    @walleL 我希望安装,但是在 pycharm 中不使用
        11
    zjb861107   68 天前
    楼主是来钓鱼的么,我怎么感觉已经把所有可行的方案都给否定了。。。
        12
    tempdban   68 天前
    import sys
    sys.path.insert( 1, "your path" )
        13
    2929899530pgy   68 天前
    厉害,支持
        14
    mkeith   68 天前
    两个 env 要同步什么啊,直接 pip install -r requirement.txt
        15
    xielongen   68 天前
    @zjb861107 我大型项目经验较少,也大概能猜到一些解决方案,但是 pythoner 不就是得追求简洁可靠的解决方案嘛!
        16
    xielongen   68 天前
    @tempdban 这个也是要修改很多的代码
        17
    xielongen   68 天前
    @zjb861107 肯定还有其它的方案,例如设置 usercustomize
        18
    tempdban   68 天前
    @xielongen 你真的试过么?
        20
    xielongen   66 天前
    @tempdban 你知道如何在 pycharm 中全局添加这个 path 吗
        21
    tempdban   66 天前 via Android
    @xielongen 哇,兄弟,百度
        22
    xielongen   65 天前
    @tempdban 不只是需要添加,还需要覆盖掉 site-packages 中安装的包,这个涉及到包搜索优先级的问题
        23
    tempdban   65 天前 via Android
    @xielongen 所以我让你插在 sys.path 的最前边啊
        24
    xielongen   65 天前
    @tempdban pycharm2017.1 专业版 添加之后在最后面,且无法调整
        25
    tempdban   65 天前 via Android
    @xielongen 哥我给你写的两行代码是干啥的
        26
    xielongen   65 天前
    我上面的回复中声明过不愿意使用这种 dirty 的方式
        27
    xielongen   65 天前
    @tempdban 我上面的回复中声明过不愿意使用这种 dirty 的方式, 每个文件添加添加这样冗余的代码,看着太恶心了
        28
    tempdban   64 天前 via Android
    @xielongen 兄弟,sys.path 是全部变量 你在程序的最开始改过一次之后,其他的文件读到的也是这个,甚至于多进程由于用的是 fork (),用 multi processing 库产生的子进程的 sys.path 也是修改过的。
    所以我一再问你试过么
    光靠想的就把楼上所有人方案推翻
    中文说的好好的非要夹个英文单词
    能不能静下心来好好研究?程序员这行饭这么好吃?
    DigitalOcean
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   542 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.7.5 · 30ms · UTC 20:07 · PVG 04:07 · LAX 13:07 · JFK 16:07
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1