简体   繁体   English

通过pip安装的Python3脚本不起作用

[英]Python3 script installed with pip doesn't work

I installed an application with python's "pip": 我用python的“ pip”安装了一个应用程序:

sudo pip install EasyBlogger

Installation finished without errors: 安装完成,没有错误:

Collecting EasyBlogger
  Using cached EasyBlogger-0.9.0.zip
Requirement already satisfied (use --upgrade to upgrade): pypandoc in /usr/lib/python3.5/site-packages (from EasyBlogger)
Requirement already satisfied (use --upgrade to upgrade): google-api-python-client in /usr/lib/python3.5/site-packages (from EasyBlogger)
Requirement already satisfied (use --upgrade to upgrade): python-gflags in /usr/lib/python3.5/site-packages (from EasyBlogger)
Requirement already satisfied (use --upgrade to upgrade): httplib2 in /usr/lib/python3.5/site-packages (from EasyBlogger)
Requirement already satisfied (use --upgrade to upgrade): setuptools in /usr/lib/python3.5/site-packages (from pypandoc->EasyBlogger)
Requirement already satisfied (use --upgrade to upgrade): oauth2client>=1.4.6 in /usr/lib/python3.5/site-packages (from google-api-python-client->EasyBlogger)
Requirement already satisfied (use --upgrade to upgrade): six>=1.6.1 in /usr/lib/python3.5/site-packages (from google-api-python-client->EasyBlogger)
Requirement already satisfied (use --upgrade to upgrade): uritemplate>=0.6 in /usr/lib/python3.5/site-packages (from google-api-python-client->EasyBlogger)
Requirement already satisfied (use --upgrade to upgrade): pyasn1>=0.1.7 in /usr/lib/python3.5/site-packages (from oauth2client>=1.4.6->google-api-python-client->EasyBlogger)
Requirement already satisfied (use --upgrade to upgrade): pyasn1-modules>=0.0.5 in /usr/lib/python3.5/site-packages (from oauth2client>=1.4.6->google-api-python-client->EasyBlogger)
Requirement already satisfied (use --upgrade to upgrade): rsa>=3.1.4 in /usr/lib/python3.5/site-packages (from oauth2client>=1.4.6->google-api-python-client->EasyBlogger)
Requirement already satisfied (use --upgrade to upgrade): simplejson>=2.5.0 in /usr/lib/python3.5/site-packages (from uritemplate>=0.6->google-api-python-client->EasyBlogger)
Installing collected packages: EasyBlogger
  Running setup.py install for EasyBlogger
Successfully installed EasyBlogger-0.9.0

However when I try to run the scipt the following way: 但是,当我尝试通过以下方式运行scipt时:

sudo easyblogger --blogid 6852822618950333369 get

I get only error messages: 我只收到错误消息:

Traceback (most recent call last):
  File "/usr/bin/easyblogger", line 9, in <module>
    load_entry_point('EasyBlogger==0.9.0', 'console_scripts', 'easyblogger')()
  File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 568, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2720, in load_entry_point
    return ep.load()
  File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2380, in load
    return self.resolve()
  File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2386, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python3.5/site-packages/blogger/__init__.py", line 1, in <module>
    from blogger import EasyBlogger, main
ImportError: cannot import name 'EasyBlogger'

The content of /usr/bin/easyblogger is the following: / usr / bin / easyblogger的内容如下:

#!/usr/bin/python3
# EASY-INSTALL-ENTRY-SCRIPT: 'EasyBlogger==0.9.0','console_scripts','easyblogger'
__requires__ = 'EasyBlogger==0.9.0'
import sys
from pkg_resources import load_entry_point

if __name__ == '__main__':
    sys.exit(
        load_entry_point('EasyBlogger==0.9.0', 'console_scripts', 'easyblogger')()
    )

The error comes from the 9. line load_entry_point. 错误来自9.行load_entry_point。 What can I do to make the easyblogger script working? 如何使easyblogger脚本正常工作? Anyway I am using Arch Linux. 无论如何,我正在使用Arch Linux。

I see you're using Python 3. It appears easyblogger is not compatible, even though it installs using pip3 . 我看到您正在使用pip3 。即使easyblogger是使用pip3安装的,它似乎也不兼容。

To see this, correct __init__.py by adding a period since your are importing from the current folder (new in python 3): 要查看此信息,请添加一个句点以更正__init__.py ,因为您是从当前文件夹导入的(python 3中的新增功能):

from .blogger import EasyBlogger, main

Now if you run your command, you get the following: 现在,如果您运行命令,将得到以下信息:

  File "/usr/local/lib/python3.4/dist-packages/blogger/blogger.py", line 424
    print postId
               ^
SyntaxError: Missing parentheses in call to 'print'

Now you need to decide whether to fix the package or not! 现在,您需要确定是否要修复该软件包! Just to make sure, installing in Python 3: 只是为了确保在Python 3中安装:

sudo apt-get -y install python3-setuptools
sudo easy_install3 pip
sudo pip3 install EasyBlogger

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM