首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

你的 Python 包都装到哪了?

前言 写这篇文章是因为最近在Python社区看到,有几个求助频率非常高的问题: 安装了pip为什么运行报找不到可执行文件? import module为什么报ModuleNotFound?...为什么用Pycharm能运行在cmd里运行不了? 授人以鱼不如授人以渔,要解决这类问题,你得知道Python是如何找包的。希望看完这篇文章,能有所帮助。...(主要还是下次再有人问,就可以链接甩脸了哈哈) Python是如何寻找包的 现在大家的电脑上很可能不只有一个Python,还有更多的虚拟环境,导致安装包的时候,一不小心你就忘记注意安装包的路径了。...顺便说下PATH是用来找可执行程序的搜索路径,假如你在终端中运行命令my_cmd,系统会依次扫描PATH中的路径,看my_cmd是否存在于该路径下,所以如果提示找不到程序或命令无法识别,那你就要看路径是否加到...第二种方式则显式地指定了Python的位置。这条规则,对于所有Python的可执行程序都是适用的。流程如下图所示。 ?

5.4K21

详解动态库和静态库

.c文件可形成一个.o文件,将这些.o文件链接形成可执行文件,头文件是一个手册,提供函数声明,告诉用户如何使用,.o文件提供实现,我们只需要补充一个main文件,调用头文件提供的方法,然后和.o文件进行连接.../mylib/include 此时依然没有编译成功,此时不是找不到头文件,而是链接错误。...当你编译程序时,编译器会首先在这些默认路径下搜索所需的头文件。 在代码中已经写了头文件的具体名称,所以仅需指定头文件的路径即可。...而一个路径下可以有多个库,如果只指定路劲,编译器还是不知道该去链接哪个库,因此还要在后面使用 -l 选项指定待链接的库的具体名称。...此时程序就可以正常运行: 动态库VS静态库 动静态库同时存在时,默认连接的是动态库: 此时对应的可执行程序的体积很小: 那么如何使用静态库?

15110
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    什么是网站404,为啥是404?

    只知道404是网页错误,但我不知道它来自哪里。 据说在第三次科技革命之前,整个互联网就像一个大型的中央数据库,设置在一个叫404的房间里。当时所有的访问请求都是手动完成的。...否则,服务器要记住太多的信息,会浪费太多的资源,现代极客根本不知道用64K内存编程是什么感觉!...为避免错误地址访问,程序员想出了一个非常简单的方法,即指定错误类别的数字范围,而404错误是程序员为了让用户连接网络错误而设置的。把用户的错误类型标记为404,这意味着网页不存在。...举例来说,200,它代表了服务器已经成功处理了请求并提供了请求的网页,或者代表了请求的网页已经永久移动到新位置的301,以及代表服务器遇到错误无法完成请求的500等等,这些都是很多的。...最终,我们想说的是,无论如何,像404错误这样的HTTP状态码将始终存在于网络世界。

    2.3K10

    static link:关于gcc连接静态库的几种方式

    默认情况下,gcc采用动态连接的方式连接第三方库,比如指定-lpng,连接程序就会去找libpng.so。...这个-static选项是个大杀器,指定了这个选项,gcc在连接时对项目所有的依赖库都尝试去搜索名为lib.a的静态库文件,完成静态连接,如果找不到就报错了。...呵呵,这事儿干过,十几兆字节总是有的,取决你的程序用到多少第三方库。 这种全静态连接有啥用处呢?也有用,就是你的程序自带干粮,只需要一个linux kernal就能跑了。...如何有选择的进行静态编译呢?...当然如果库的位置不在gcc默认搜索路径中,要用-L参数另外指定搜索库的路径,否则连接程序不知道该从哪里找到filename。

    10.2K20

    分享一个 SpringCloud Feign 中所埋藏的坑

    github 这个服务;找不到也是合理的,毕竟也不是一个内部注册的服务。...本着打破砂锅问到底的精神,个人也想知道 OpenFeign 是如何处理的,只要 url 有值就可以,这完全是个黑盒,而且在官方的注释中并没有对这种情况有特殊说明。 所以我准备从源码中找到答案。...Feign 的实现 既然已经看到这一步了,也比较好奇 Feign 是如何做到只要有 URI 参数就使用指定的 URL 呢?...这里也分享一个读源码的小技巧,如果我们跟着程序执行的思路去一步步 debug 的话会非常消耗时间,毕竟这类成熟库的代码量也不小。...想必后续会通过这个索引位置读取最终的 url 信息。 最终通过这个索引的使用地方查询到了核心源码,如果有值时就取这个 URI 中所指定的地址作为 target。

    86010

    python3 for win10X64

    先安装pillow windows 10上面先打开命令提示符: 注:不知道为啥装python 3.5的时候蛋疼的选择了管理员安装,所以运行命令提示符的话也需要管理员权限。怎么操作就不说了。 1....\lib\subprocess.py", line 957, in _execute_child     startupinfo) FileNotFoundError: [WinError 2] 系统找不到指定的文件...M D 找不到指定文件,到这里也不懂,继续百度。然后找到的文章说要更改 pytesseract.py这个文件的一些配置(第二个安装的模块)。...在右边打开的窗口找到:tesseract_cmd 这行代码: 这一行注释掉:因为pytesseract.py文件内默认的tesseract-ocr的主程序环境变量不知道怎么变的,到了windows 下面就不能运行...,上面执行的报错代码中找不到文件,其实就是找不到程序

    94320

    canal源码解析(2)—位点的实现

    首先说一下对canal中位点的理解。什么是位点?位点是 binlog事件在binlog文件中的位置。...1.Connection获取上一次解析成功的位置 (如果第一次启动,则获取初始指定位置或者是当前数据库的binlog位点) 2.Connection建立链接,发送BINLOG_DUMP指令 3.Mysql...2.2.3.如果此时entryPosition为空,表明canal server没有指定任何位点,则将当前mysqlConnection连接的数据库的binlog最后一个位置作为dump位点并返回。...2.2.7.上述找不到则将当前mysqlConnection连接的数据库的binlog最后一个位置作为dump位点并返回。...如果你看懂了上面的碎碎念,不知道是否会疑惑 logPositionManager的 primary或者secondary位点管理器管理的内存位点是如何第一次创建的?之后是如何更新的?

    2K30

    关于abiFilters的使用「建议收藏」

    但是今天在x64-v8a的模拟器上看的时候,提示的library.so文件找不到记得这个应该是向下兼容的,但是出现这种情况很奇怪,于是就在网上找了找答案。...具体分析 其实这个方法开始是很奇怪的,明明没有指定其他的兼容框架,为什么会需要一个过滤。...因为只要出现了这个目录,系统就只会在这个目录里找.so文件而不会遍历其他的目录,所以就出现了之前找不到.so文件的情况(因为其他目录没有的.so文件)。...(不知道对不对,谁能明确一下的,恳请指正) 无论如何,abiFilters还是应该添加的。...发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/143490.html原文链接:https://javaforall.cn

    91920

    《挑战30天C++入门极限》CC++中结构体(struct)知识点强化

    下面我们给出一个完整的创建链表的程序,不管看的懂看不懂希望读者先认真看一下,想一想,看不懂没有关系,因为下面会有分解式的教程,但之前的基本思考一定要做,要不即使分解了你也是无从理解的。   ...程序一单进入create函数我们首先必然要创建一个节点,我们先创建一个节点指针,后把者个节点指针指向到动态开辟的test类型的动态内存地址位置上。   ...删除的就不多说了,里面重要部分有注解。...cin>>dp; deletel(head,dp);//调用删除 showl(head); cin.get(); cin.get(); }   最后学习一下如何在已有的链表上插入节点...今天的程序在昨天的基础上做了进一步的修改,可以避免删除点找不到的情况,如果找不到删除点就退出函数!

    89620

    Linux:环境变量

    ——>因为指令所需要的相关程序是存储在系统能够查找得到的底下,而我们自己编译出来的程序是在当前的工作目录的,系统并不能直接找到。 问题2:凭什么系统可以找到指令的程序找不到自己的程序呢??...,就会显示command not found ,意思就是xshell帮我们找过了,只是他找不到而已  问题3:如果想让自己写的程序像指令一样去使用,有什么办法呢???...——>(1)思路1:比如/usr/bin路径在PATH变量里,那我们就把自己写的程序放到该路径下即可 (2)思路2:当前的程序无法使用时因为的工作目录不在系统的指令搜索路径内,所以我们把当前的工作目录加入到...所以另一方面我们可以知道,main函数是如何知道自己有多少个参数呢??...,通常具有全局属性,并且一般来讲都有其特殊的用途(比如我们在编写C/C++代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪里,但 是照样可以链接成功,生成可执行程序,原因就是有相关环境变量帮助编译器进行查找

    7010

    手把手教你如何在Windows安装Anaconda

    然后选择Python 3.x图形安装程序(A)或Python 2.x图形安装程序(B)。...4.选择“仅”(推荐)或“所有用户”。 ? 如果不确定选择哪个选项,请选择“仅”,因为如果您没有管理员权限,这可以缓解潜在的问题。 5.请记下您的安装位置(1),然后单击“下一步(2)”。...您的安装位置可能有所不同,因此请记下anaconda的安装位置。在左侧的示例图像中,该路径类似于如果您为步骤4选择了“仅”。在右侧的示例图像中,该路径类似于如果您为步骤4选择了“所有用户”。...3.如果您不知道您的conda和/或python在哪里,请打开 Anaconda Prompt 并键入以下命令。这是在告诉您conda和python在计算机上的位置。 ? ?...DLL加载失败:找不到指定的模块 ? 这是由于未将所有内容添加到路径环境变量中。猜很可能您没有在路径中添加condabin或bin。 ? 如果你喜欢本文的话,欢迎点赞转发!谢谢。

    2.8K10

    iBatis.Net(2):基本概念与配置

    这也是小白的个人观点,毕竟人那什么鸟比我飞的漂亮的多,至于iBatis这东西,说简单不简单,说难不难,很多基础的概念配置的东西,还是很有必要研究一下的,至于他的使用倒是很简单,所以也希望朋友们能真正吃透他,您的功力如何...勘误:在上一篇中把xsd文件的存放路径写错啦,正确的应该是 “VS2008安装路径\Xml\Schemas ”,其他版本的VS没有注意过有没有区别,大家可以自己试一下啦,如果找不到的话可以@ SqlMap.config...url:通过绝对路径来确定文件位置 embedded:通过嵌入资源方式来确定文件位置 被引用的文件示例如下(DataAccessInfo.config) <?...来验证工程中的映射文件 useReflectionOptimizer 默认为true,是否使用c#的reflection机制来访问c#中对象的属性 useEmbedStatementParams 这个暂时还不知道是什么意思..." type="iBatisSample.Domain.Customers,iBatisSample"/> 这里,项目(iBatisSample)下的Domain下的Customers类指定了一个别名

    70470

    Android老司机被打脸!Dialog 对应的 Context 必须是 Activity吗?

    后来发现的回答确实错了,于是通过每日一问分享给大家。 于是有了本文,负责被打脸,小缘负责解答,反正不会被打脸第二次了,希望大家也能更清晰的认识这一块。...使用Service或Application就找不到容器,换成Activity就能找到,这是为什么?...这是因为在WMS那边需要根据这个Token来确定Window的位置(不是说坐标),如果没有Token的话,就不知道这个窗口应该放到哪个容器上了。...主要是因为非Activity的Context它的WindowManger没有ParentWindow,导致在WMS那边找不到对应的容器,也就是不知道要把Dialog的Window放置在何处。...所以,想做一个牛逼的程序员,那么就要让自己站的更高,成为技术大牛并不是一朝一夕的事情,需要时间的沉淀和技术的积累。

    4.1K00

    mybatis学习笔记(五):mybatis 逆向工程

    可以通过 maven 工程,java 程序,eclipse 插件等方式运行,为了后续开发的兼容性问题,在这里我们采用 java 程序通过 xml 方式配置,不用依赖于开发工具。...生成PO类的位置。...sqlMapGenerator:mapper映射文件生成的位置。 javaClientGenerator:mapper接口生成的位置。 table:指定数据库表。...注: 这里遇到了一个问题,自己有编写日志文件,但是不知道为什么总是无法加载日志信息,报如下信息,查阅相关资料后也没能解决这个问题,以后有时间自己会解决这个问题。 ?...这里刚开始运行的时候始终找不到 selectByExample() 这个方法,其实是因为找不到我的 mapper.xml 映射文件,困惑了好久,发现 mapper.xml 并没有发布到目标文件中,(idea

    1.2K20

    GG修改器怎么激活成功教程游戏保护_gg修改器游戏保护修改不了怎么办

    大家好,又见面了,是你们的朋友全栈君。 今天阿森给大家发一个GG修改器的教程,很多朋友遇到一些脚本程序不知道怎么样使用! 今天就给大家发一个详细的!...,是由系统的一个解释器,将其一条条的翻译成机器可识别的指令,并按程序顺序执行 三,框架如何使用1,我们需要下载开头的两个软件,安装好了,打开框架(八爪鱼),进去能看到一个+号,点击一下,把我们的需要修改的游戏和我们的...然后打开gg修改器,会弹出一个选择应用进程,这个时候,我们需要选择跟需要修改的游戏对应的头像,而且后面没有任何后缀的进程【图2】,然后进入游戏 四,脚本的使用选择好进程后,根据脚本的使用环境要求进入指定的游戏位置...,然后点击修改器的右上角的三角形【图3】,然后点击省略号,找到对应的脚本【图4】,然后执行 五,脚本的储存位置点击省略号之后是否找不到脚本位置呢?...QQ游览器位置:/sdcard/QQBrowser/其他百度云位置:/sdcard/BaiduNetdisk/的资源 QQ位置:sdcard/Tencent/QQfile_recv ---- 版权声明

    3.1K20

    CMStudio的使用教程(Dais-CMX16+)

    然后开始写微程序 写微程序在哪里写? 肯定是在微程序这里写啊 ? 我们需要 找到自己刚才编的地址 别写错了位置,不然 哭了半天都不知道谁死了。 ?...在下面 右键 出现选择框 选择 转到指令吗 散转地址 别选别的 听我的,不知道 为啥是 这个 而且 为啥 不是 转到指定微地址 为啥知道呢,是因为 一个一个 测试一下 搜了一个 系统写好的 指令...跳转 过来之后 尽量 右键 进行注释 吧,省的 日后找不到了 以后一眼就能 看到 这个是你写的 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XLxztdQ8-1607333492701...推荐 你就 给我 保存到 和 模型机 4 一样的位置 别给我整桌面上(开始就存桌面上了) 因为 后面 写测试程序 还会引用 这个文件 就像 C 语言里 #include 一样 你要是...把 stdio.h 头文件 放桌面 不放在 默认位置 那就要写成 #inlcude 这不没事 找事吗 最后 写测试程序 了 直接在 源程序 页面

    1.8K10
    领券