"没有名为PyPDF2的模块"错误

时间:2016-08-31 05:47:29

标签: python pdf-generation importerror

我在Windows 10上使用Spyder和Python 2.7。我能够在我的提示符下使用conda命令安装PyPDF2包。我说安装完成了。但是,如果我尝试运行一个简单的导入命令:

import PyPDF2

我收到错误:

ImportError: No module named PyPDF2

我该如何解决这个问题?

8 个答案:

答案 0 :(得分:13)

如果你使用python3可能

apt-get install python3-pypdf2

答案 1 :(得分:13)

就我而言,我试图导入'pyPdf2'而不是'PyPDF2'。观察此案。

  

导入PyPDF2

是对的。

答案 2 :(得分:3)

当我尝试像这样导入PyPDF2时,我也遇到了这个问题:

sudo apt-get install python-pypdf2

使用import PyPDF2运行一些简单的脚本时,我会收到如下错误:

ImportError: No module named PyPDF2

解决方案是安装pdfmerge,如下所示:

pip install pdfmerge

答案 3 :(得分:3)

我遇到了同样的问题。但是,就我而言,

  • 我以前在官方网站上单独安装了Python3并且没有任何问题使用

  • 后来我安装了Anaconda软件包分发软件,它本身在相应的目录中安装了另一个Python3。

因此,当我安装PyPDF2时,它正常安装并在导入时抛出错误,因为python3的基本路径已更改为与Anaconda一起使用。

然后我打开了Anaconda提示并在那里安装了PyPDF2并尝试导入。 有效!!

然后我可以在Windows PC的任何命令提示符下使用它。或者你可以删除Anaconda,一切正常。它只是我脑中两个蟒蛇的冲突。

结论:尝试在您的PC中使用任何重叠的软件(在我的案例中为Anaconda提示)并尝试使用他们的CMD来安装软件包并导入。如果我想安装任何软件包,我必须去Anaconda提示并安装它并导入该模块可以在任何地方工作而不会出现任何错误。所以从现在开始,我只使用Anaconda提示作为我的默认安装提示。

答案 4 :(得分:0)

这是我为python3所遵循的情况。对于python2尝试使用pip:

pip install PyPDF2

答案 5 :(得分:0)

我在Windows 8.1机器上安装了多个版本的Python(Python 2.7、3.5和3.7)。这造成了问题(我应该说混乱)。 因此,安装软件包时必须非常明确。例如:

<?php

namespace App\Http\Controllers\Auth;

use App\Models\User;
use App\Http\Controllers\Controller;
use Illuminate\Auth\Events\Registered;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;
use Jrean\UserVerification\Traits\VerifiesUsers;
use Jrean\UserVerification\Facades\UserVerification;
use Illuminate\Http\Request;
use MetaTag;

class RegisterController extends Controller
{

    use RegistersUsers;
    use VerifiesUsers;

    protected $redirectTo = '/';

    public function __construct()
    {
        $this->middleware('guest');
    }

    protected function validator(array $data)
    {
        return Validator::make($data, [
            'name' => 'required|string|max:255',
            'email' => 'required|string|email|max:255|unique:users',
            'password' => 'required|string|min:6|confirmed',
        ]);
    }

    protected function create(array $data)
    {
        return User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => Hash::make($data['password']),
        ]);
    }

    protected function redirectTo() {
        return '/path';
    }


    public function showRegistrationForm()
    {
        MetaTag::set('title', __("Register"));
        session()->put('from', request('redirect')?:url()->previous());

        return view('auth.register');
    }

    public function register(Request $request)
    {
        $this->validator($request->all())->validate();

        $user = $this->create($request->all());

        event(new Registered($user));

        $this->guard()->login($user);

        $user->username = $request->get('name');
        $user->save();

        UserVerification::generate($user);

        UserVerification::send($user, __('Welcome and Email Verification'));

        $user->assignRole('member'); //make a member

        return $this->registered($request, $user)
            ?: redirect(session()->pull('from',$this->redirectPath()));
    }
}

代替:

py -3.7 -m pip install PyPDF2 pip install PyPDF2

然后升级点,请使用:

pip3 install PyPDF2

代替:

py -3.7 -m pip install --upgrade pip

现在,我可以使用py -3 -m pip install --upgrade pip 运行python 3.7 ,并且由于我做了py -3.7,因此py -3.7 -m pip install PyPDF2命令可以运行!以前,由于我只做过import PyPDF2,所以pip3 install PyPDF2命令只有在我运行import PyPDF2时才有效,这很奇怪。我认为这与以下事实有关:我为所有用户安装了Python 3.5,但仅为我的用户帐户安装了Python 3.7,因此不同的py -3.5命令将已安装的软件包放置在不同的位置。


在此处查看更多信息:https://docs.python.org/3/installing/index.html

例如:

  

在Windows上,将py Python启动器与-m开关结合使用:

pip install

答案 6 :(得分:0)

我遇到了相同的问题,并在切换Python编译器时解决了此问题(Visual Studio Code的左下角)。尝试使用其他版本,最终应该可以使用。

答案 7 :(得分:0)

使用 pip 时,通常会安装在Python 2+中,因此请尝试

pip3 install PyPDF2