提问者:小点点

致命的Python错误:Py_Initialize:无法加载文件系统编解码器。没有命名为编码的模块


我试图使简单的python程序,是开放的网页列表,供用户手动从网站下载报告。我以前没有任何准备exe文件的经验...我正在学习Python编码。所有这些都是在Windows 7 x64上完成的

这是我的python代码:

#!C:/Python34/python.exe -u

from splinter import *
import time
import os
import csv

#----------------------------------
raporty = []
with open('../raporty.csv', newline='') as csvfile:
    contents = csv.reader(csvfile, delimiter=' ', quotechar='|')
    for row in contents:
        r = ', '.join(row)
        r = r.replace(',','')
        raporty.append(r)

#--not implemented yet
zmienne = []
with open('../zmienne.csv', newline='') as csvfile:
    contents = csv.reader(csvfile, delimiter=' ', quotechar='|')
    for row in contents:
        r = ', '.join(row)
        r = r.replace(',','')
        zmienne.append(r)

print("start")
browser = Browser()

#----------------LOGIN------------------
browser.visit('https://xxxx')
print(browser.title)
if browser.title == "xxxxxxxxxxxx":
    element = browser.find_by_name('login').first
    element.value = "xxxx"
    element2 = browser.find_by_name('password').first
    element2.value = "xxxx"
    browser.find_by_value('sign in').click()

time.sleep(5)

#----------------------------------
j = 1
for i in raporty:
    webpage = 'webpage_link'
    print("text" + i)
    browser.visit(webpage)
    j += 1

    if j > 15:
        time.sleep(j)
    else:
        time.sleep(12)

我的设置。py文件如下所示:

from distutils.core import setup
import py2exe

setup(
    console=['Final.py'],
    options={
            "py2exe":{
                    "skip_archive": True,
                    "unbuffered": True,
                    "optimize": 2,
                    "packages": ["encodings", "splinter"]
            }
    },
)

我必须解决的第一个问题是硒包中丢失的文件(webdriver.xpi和webdriver_prefs.json),但我已经成功地将它们包含在手工编译后library.rar文件中。不幸的是右知道后运行我的文件我得到消息:

Fatal Python error: Py_Initialize: unable to load the file system codec
ImportError: No module named 'encodings'

共2个答案

匿名用户

安装程序:MAC OSX ANACONDA

它发生时,有多个版本的python安装或部分删除的环境存在,即只是删除包/安装,而不是路径变量。

需要提前检查的事情:

echo $PYTHONHOME
echo $PYTHONPATH

如果没有,请通过更新来设置环境变量。bashrc。bash_配置文件使用

export PYTHONHOME="/Users/<user>/anaconda3/"
export PYTHONPATH="${PYTHONHOME}/bin"

要在当前shell中设置这些变量,请运行source。bashrc

如果这还不能解决您的问题,那么搜索机器中列出名称为“编码”的文件夹。

find/-type d-name“encodings”它打印一个目录列表,其中有一个名为“encodings”的文件夹。

删除所有不指向使用中的python的目录。

rm -rf <directory>

匿名用户

当我用Python 3.6安装Anaconda时,我有同样的错误。通过添加指向Python安装位置的环境变量“PYTHONPATH”来解决错误。

我指的是下面的链接,

Py_初始化失败-无法加载文件系统编解码器

水蟒