首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

Python 的 type hint 在 centos 下报错是啥情况,求解

  •  
  •   kblacksheep · 239 天前 · 1823 次点击
    这是一个创建于 239 天前的主题,其中的信息可能已经有所发展或是发生改变。
    File "/var/lib/jenkins/workspace/git_pipline/BeautifulReport/BeautifulReport.py", line 93
    def __repr__(self) -> str:
    ^
    SyntaxError: invalid syntax

    -> 和: 这两个在本地用 pycharm 都没问题,但是放在服务器直接运行就会提示 SyntaxError: invalid syntax,Python 版本都是 3.6.8 求大佬指导一下
    15 回复  |  直到 2019-02-20 13:11:10 +08:00
        1
    menc   239 天前
    一般这种问题都是 python 版本的问题,实际调用的是 python2
        2
    wellsc   239 天前
    def 上面加一行:
    ``` python
    import sys;print(sys.version)
    ```
        3
    kblacksheep   239 天前   ♥ 1
    @menc
    感谢大佬。。还真是 centtos 下 sudo 会切换到 python2.6 版本
        4
    kblacksheep   239 天前
    @wellsc
    谢谢!~
        5
    KevinBu   239 天前
    用 centos 还是加上 virtualenv 比较好~ 不至于版本混乱
        6
    wellsc   239 天前
    @KevinBu virtualenv 跟 Python 版本没关系
        7
    Kilerd   239 天前   ♥ 1
    @KevinBu #5 无论在哪里都应该用 pipenv + venv(virtualenv) 或者 pyenv + virtualenv 来隔离 Python 版本和依赖库

    BTW,都 8102 年了,还不上 docker,还在等什么
        8
    kblacksheep   239 天前
    @Kilerd
    其实已经用了 pipenv 和 pyenv 来管理了 但是直接 sudo python 还是执行的 2.6 版本的。。docker 确实得学学了 哈哈哈
        9
    Osk   239 天前
    不写 #!/usr/bin/env python3 吗? 还是虚拟环境创建的是 python2 ?
        10
    kblacksheep   239 天前
    @Osk
    虚拟环境是 python3 但是激活虚拟环境之后再用 sudo python 还是 2 版本的。。我用 which python 得到 python3 的路径之后再 sudo 完整路径调用就行了 #!/usr/bin/env python3 我没写 明天试试看 谢谢大佬
        11
    lujiajing1126   239 天前
    jenkins 可以安装 pyenv 的插件,直接放在 pipeline 里面跑
        12
    kblacksheep   238 天前
    @lujiajing1126
    卧槽还有这插件 我去看下 我现在都是在 jenkinsfile 里激活环境。。。
        13
    kblacksheep   238 天前
    @lujiajing1126
    看错了 我以为是 pipenv....
        14
    Osk   238 天前   ♥ 1
    @kblacksheep 如果是虚拟环境的话, 可以这样 sudo, 不需要修改脚本的#!/路径:

    sudo bash -c ". my_venv/bin/activate;python /path/to/script.py"

    由于安全原因, sudo 好像是不会继承当前 shell 的 PATH 变量, 而 virtualenv 需要将虚拟环境的 python 路径放在 PATH 最前面
        15
    congeec   238 天前 via iPhone
    @Kilerd 我表示 poetry 比 pipenv 好用。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   988 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 23ms · UTC 19:34 · PVG 03:34 · LAX 12:34 · JFK 15:34
    ♥ Do have faith in what you're doing.