导航:首页 > 源码编译 > 编译python导入不全

编译python导入不全

发布时间:2023-05-24 19:59:54

1. python关于.pyd文件无法import的问题的解决方法

当我想加载pyd文件,用Python调用里面的函数时

使用语句:import  tick_gy  as gal

pycharm编译器报错: MoleNotFoundError error from .pyd file: MoleNotFoundError: No mole named"tick_gy" 表示一直找不到该模块

找了半天,最终解决了此问题,特此分享给大家。卜芹笑如果大神有更好的办法请留言,谢谢分享。

一种可能是:.pyd文件名称 于该语句中的“import  tick_gy   as gal”不一致

另外一种可能是:.pyd文件目录错误,应放在在Python编译器的Lib/site-packages目录下

还有一种可能是:环境变量。Python文件找不到.pyd文件目录,应将.pyd文件目录添加至环境变量中

1. 手动添加环境变量。采用系统手动添加

2.将该语句放置在import  tick_gy  as gal语句前

sys.path.append('C:\\Users\\lenovo\\AppData\\Local\\Programs\\Python\\Python39\\Lib\\site-packages')

os.environ['path'] += ';C:\\Users\\lenovo\\AppData\\Local\\Programs\\Python\\Python39\\Lib\\site-packages'

在尝试了三种可能性操作了,统统失败。最终原因是因为pycahrm编译器为Python39,首模而生成.pyd文件的编译器是Python37。两者编译器版本不兼容,将Python39卸载,重装Python37,无需上述操作型含,成功!

2. python怎么导入同一包的模块

一、何为模块

1.一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。

2.模块目的和函数,对象等一样,是为了代码的复用性而存在的。即一个py程序写了很多功能,也可以被其他py程序调用。被调用后被作为模块,此时会产生一个pyc的文件即为这个模块的缓存文件,相当于编译了模块文件使该py模块被调用的速度变快。一个大的项目一个人肯定是不行的,所以模块也为程序员相互间的合作提供了便利。

二、模块妙用

1.import

只需要在py程序开头加上import 文件名(不能有.py后缀)。例如,模块的文件名是span.py,那么只需在自己的py程序加import span。

2. import可以在程序的任意位置调用,但一次调用后会驻留内存,下次再调用会直接调用内存中的模块(python的优化)。

3.个模块都是一个独立的名称空间,定义在这个模块中的函数,把这个模块的名称空间当做全局名称空间,这样我们在编写自己的模块时,就不用担心我们定义在自己模块中全局变量会在被导入时,与使用者的全局变量冲突。

print('from the spam.py')

money=1000def read1(): print('spam->read1->money',1000)def read2(): print('spam->read2 calling read')
read1()def change(): global money
money=0

支持tab自动补全

3. python中模块导入的方法

python中模块导入的方法:

方式一:使用 import 语句来引入模块

直接使用关键词import,后面跟具体的模块名称,就可以导入某一个模块。同一个模块不管执行了多少次import,都只会被导入一次,以防止模块被一遍又一遍的执行。

方式二:使用from…import 语句来引入模块

在使用import语句导入模块时会将整个模块引入进来,而使用from...import 语句则是从模块中导入一个指定的部分到当前命名空间中。如上面代码中则只会导入pprint模块中的pprint函数,其他函数并不会导入。

方式三:使用from…import语句来引入模块

在多数情况下,Python程序员都不会使用这个功能,因为它在解释器中引入了一组未知的名称,而它们很可能会覆盖一些你已经定义过的东西。

注意通常情况下从一个模块或者包内调入 * 的做法是不太被接受的, 因为这通常会导致代码的可读性很差。不过,在交互式编译器中为了节省打字可以这么用。

模块的好处

1、大大提高了代码的可维护性。

2、代码不必从零开始,一个模块编写完毕之后,其他模块可以直接调用,节约了工作时间。

3、避免函数名称和变量名称重复,在不同的模块中可以存在相同名字的函数名和变量名,但是尽量不要和系统内置的模块名称重复。

4. python中time解析未导入怎么解决

我提供一下解决思路,希望可以帮助到你。
首先,看你这个界面应该是windows系统,打开命令提示符窗口,输入python,打开python的交互界面,输入导入模块命令
import time
查看是否可以正常导入,因为time模块是自带的核心模块,正常情况下都可以导入成功,如果导入失败,说明python安装过程中出错,需要重新安装。
如果可以导入成功,继续下面的步骤,
点击pycharm左上角的file选项,点击下拉菜单里的settings,打开以后,里面有一个project,点开可以看到project interpreter,点击它,右边会有一个你当前这个脚本的python编译器路径,如下图所示,把它记下来。



然后去你的系统里去找,看和你安装的python是不是一个路径,如果不是一个路径,说明python编译器位置不对,改成你安装的那个路径就可以了。
如果是一个路径,你可以尝试运行一下你的那个脚本,有时候就是临时没有识别出来,但是运行的时候可以正常找到。
不知道我讲清楚了没有,希望可以帮助到你。

5. 关于 .pyx文件的编译和导入

Date: 2020/03/21

Author: CW

前段时间学习了  NMS(非极大值抑制) 的各种版本实老镇现,其中包括 Cython 版本,需要对 .pyx文件进行编译,在此针对学习内容记录一番。

    首先确保安装了Cython。

    以文件名为 nms.pyx 为例,新建一个用于编译的.py文件,比如 setup.py,内容如下图所示。

    接着执行该py文件: python setup.py build_ext --inplace 即可完成编译, 最终会生成一个 .c文件。

    若编译过程中报错: numpy/arrayobject.h”: No such file or directory ,则需要修改下setup.py文件,内容变为如下:

    红框所示为增加的内容,最后再按照上述方法执行该文件进行编译即可。

    和正常py模块一样导入即可,比如要导入以上的 nms.pyx,则为 import nms。

    如提示梁岁无法导入,则尝试在 import 相应包之前添加如下内容:

         import pyximport

         侍渣粗 pyximport.install()

6. 我在按书上编译python 源码时,老是提示错误,虽然输入正确,编译不成功(eclisp工具)

我复制你的代码运行了一遍,没问题啊。
filemunu=wx.Menu()
filemenu.Append(wx.ID_ABOUT, "&About"," Information about this program")
看来没问题的是源代码,你自己写的还是有问题,filemenu都没有定义,为什么呢,因为你定义的是filemunu而不是filemenu。。。。。。

7. python导入libxml2dom不成功,求助

最近一个python项目需要用到libxml2dom这个包,然后就pip安装之,之后验证安装是否成功:

shandow@mac:~ > python

Python 2.7.5 (default, Mar 9 2014, 22:15:05)

[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin

Type "help", "right", "credits" or "license" for more information.

>>> import libxml2dom

Traceback (most recent call last):

File "<stdin>", line 1, in <mole>

File "/Library/Python/2.7/site-packages/libxml2dom/__init__.py", line 24, in <mole>

from libxml2dom.macrolib import *

File "/Library/Python/2.7/site-packages/libxml2dom/macrolib/__init__.py", line 26, in <mole>

from libxml2dom.macrolib.macrolib import *

File "/Library/Python/2.7/site-packages/libxml2dom/macrolib/macrolib.py", line 30, in <mole>

from libxmlmods import libxml2mod

ImportError: No mole named libxmlmods

意思是缺乏libxmlmods库,使用pip安装之,提示找不到。。。。好吧,度娘问吧,找到一个类似libxml2dom的官方声明似的网站:

libxml2dom

Current release: libxml2dom 0.5 (requiring the low-level libxml2 Python bindings, typically provided by the python-libxml2 or libxml2-python packages for various GNU/Linux distributions: Ubuntu, Debian, Fedora, Red Hat, SuSE)
Introction
The libxml2dom package provides a traditional DOM wrapper around the Python bindings for libxml2. In contrast to the standard libxml2 bindings, libxml2dom provides an API reminiscent of minidom, pxdom and other Python-based and Python-related XML toolkits. Performance is fairly respectable since libxml2dom makes direct use of libxml2mod - the low-level wrapping of libxml2 for Python. Moreover, serialisation of documents is much faster than many other toolkits because libxml2dom can make direct use of libxml2 rather than employing Python-level mechanisms to visit and serialise nodes.
Copyright and Licence
libxml2dom is licensed under the LGPL version 3 (or later).

这里第一句话就是libxml2dom依赖libxml2库,可以通过查找python-libxml2或者libxml2-python下载,可是偶使用pip安装都提示找不到资源。。。。好吧,再次度娘,手动下载了这个包。这里贴出我分享出来的地址:libxml2下载(我的是mac
os系统,windows系统的自行下载吧,哈哈。。。)再说下mac os下如何安装:
1.先把下载的tar包放到自己python环境的site-packages,我的是:
/Library/Python/2.7/site-packages
2.解压:sudo tar -xvf libxml2-2.7.8.tar
3.进入解压后的文件夹,由于是源码包需要编译安装:
cd libxml2-2.7.8
sudo ./configure
sudo make
sudo make install
好了,如果没有报错就ok了,测试下把:
python
import libxml2
提示没有这个模块,说明没有导成功,郁闷。。。。
重新进入文件夹 :
cd libxml2-2.7.8
发现这个文件夹中有个python文件夹,进入:

shandow@mac:/Library/Python/2.7/site-packages/libxml2-2.7.8 > cd python/
shandow@mac:/Library/Python/2.7/site-packages/libxml2-2.7.8/python > ll
total 5704
-rw-r--r-- 1 root network 132 11 17 10:46 MANIFEST
-rw-r--r-- 1 root network 31357 11 17 10:43 Makefile
-rw-rw-r--@ 1 50138 network 1542 11 4 2010 Makefile.am
-rw-rw-r--@ 1 50138 network 32443 11 5 2010 Makefile.in
-rw-rw-r--@ 1 50138 network 1272 9 24 2009 README
-rw-rw-r--@ 1 50138 network 1623 9 24 2009 TODO
drwxr-xr-x 4 root network 136 11 17 10:46 build
-rw-rw-r--@ 1 50138 network 15061 9 24 2009 drv_libxml2.py
-rw-r--r-- 1 root network 0 11 17 10:44 gen_prog
-rwxrwxr-x@ 1 50138 network 47541 10 16 2010 generator.py
-rw-rw-r--@ 1 50138 network 104464 11 3 2010 libxml.c
-rw-r--r-- 1 root network 271 11 17 10:44 libxml.lo
-rw-r--r-- 1 root network 297240 11 17 10:44 libxml.o
-rw-rw-r--@ 1 50138 network 22817 10 12 2010 libxml.py
-rw-r--r-- 1 root network 126532 11 17 10:44 libxml2-export.c
-rw-r--r-- 1 root network 434813 11 17 10:44 libxml2-py.c
-rw-r--r-- 1 root network 112512 11 17 10:44 libxml2-py.h
-rw-r--r-- 1 root network 283 11 17 10:44 libxml2-py.lo
-rw-r--r-- 1 root network 819684 11 17 10:44 libxml2-py.o
-rw-rw-r--@ 1 50138 network 18669 10 12 2010 libxml2-python-api.xml
-rw-r--r-- 1 root network 341257 11 17 10:44 libxml2.py
-rw-r--r-- 1 root network 318440 11 17 10:44 libxml2class.py
-rw-r--r-- 1 root network 22768 11 17 10:44 libxml2class.txt
-rw-r--r-- 1 root network 1166 11 17 10:44 libxml2mod.la
-rw-rw-r--@ 1 50138 network 7277 10 12 2010 libxml_wrap.h
-rwxr-xr-x 1 root network 6685 11 17 10:43 setup.py
-rwxrwxr-x@ 1 50138 network 6707 9 24 2009 setup.py.in
drwxrwxr-x@ 55 50138 network 1870 11 17 10:43 tests
-rw-rw-r--@ 1 50138 network 21068 10 12 2010 types.c
-rw-r--r-- 1 root network 268 11 17 10:44 types.lo
-rw-r--r-- 1 root network 63320 11 17 10:44 types.o
shandow@mac:/Library/Python/2.7/site-packages/libxml2-2.7.8/python >
参照网上说的python第三方包的安装方式:
sudo python setup.py build
sudo python setup.py install
这两句运行完后,重新进入site-packages文件夹,发现多了libxml2的egg-info文件:

再次测试:

shandow@mac:/Library/Python/2.7/site-packages > python
Python 2.7.5 (default, Mar 9 2014, 22:15:05)
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
Type "help", "right", "credits" or "license" for more information.
>>> import libxml2
>>> import libxml2dom
>>>
libxml2安装成功了,libxml2dom也不会报错了,大功告成。。。。。网上网络,google都没有这个问题的解决办法,作者这里原创一个,哈哈。。。

阅读全文

与编译python导入不全相关的资料

热点内容
linux命令cpu使用率 浏览:67
linux实用命令 浏览:238
传奇引擎修改在线时间命令 浏览:107
php取域名中间 浏览:896
cad命令栏太小 浏览:830
php开发环境搭建eclipse 浏览:480
qt文件夹名称大全 浏览:212
金山云服务器架构 浏览:230
安卓系统笔记本怎么切换系统 浏览:618
u盘加密快2个小时还没有搞完 浏览:93
小米有品商家版app叫什么 浏览:94
行命令调用 浏览:436
菜鸟裹裹员用什么app 浏览:273
穷查理宝典pdf下载 浏览:514
csgo您已被禁用此服务器怎么办 浏览:398
打开加密软件的方法 浏览:156
云存储服务器可靠吗 浏览:967
2核1g的云服务器能带动游戏嘛 浏览:898
逆命20解压码 浏览:146
徐州办犬证需要下载什么app 浏览:1002