精华内容
下载资源
问答
  • python安装第三方库遇到 ERROR: Command errored out with exit status 1:…的问题 先来看看错误提示: 本来想用python弄个词云玩玩,没想到在安装wordcloud库的时候居然给我这一大串红叉叉,很是奔溃,出师不利啊!...

    python安装第三方库遇到 ERROR: Command errored out with exit status 1:…的问题

    先来看看错误提示:
    本来想用python弄个词云玩玩,没想到在安装wordcloud库的时候居然给我这一大串红叉叉,很是奔溃,出师不利啊!
    在这里插入图片描述
    报错的部分内容如下:
    ERROR: Command errored out with exit status 1:
    command: ‘c:\users\15870\appdata\local\programs\python\python37-32\python.exe’ -u -c ‘import sys, setuptools, tokenize; sys.argv[0] = ‘"’"‘C:\Users\15870\AppData\Local\Temp\pip-install-2wcyweho\wordcloud\setup.py’"’"’; file=’"’"‘C:\Users\15870\AppData\Local\Temp\pip-install-2wcyweho\wordcloud\setup.py’"’"’;f=getattr(tokenize, ‘"’"‘open’"’"’, open)(file);code=f.read().replace(’"’"’\r\n’"’"’, ‘"’"’\n’"’"’);f.close();exec(compile(code, file, ‘"’"‘exec’"’"’))’ install --record ‘C:\Users\15870\AppData\Local\Temp\pip-record-9qx3thr5\install-record.txt’ --single-version-externally-managed --compile

    说实话作为一个渣渣新手,我是真的是看不懂这是个啥错误,但是,没关系,做为非专业人人士搞不懂错因也问题不大,能解决问题就行了,于是,经过一番查询,算是找到一个解决方法如下:

    1. 先打开python看看自己的python是什么版本的,多少位的。像我的就是3.7.3版本32位;
      在这里插入图片描述

    2. 去https://www.lfd.uci.edu/~gohlke/pythonlibs/找到对应版本的whl文件,我的话就是找wordcloud-1.5.0-cp37-cp37m-win32.whl这一个,其中cp37代表3.7版本,win32代表Windows系统32位机。
      在这里插入图片描述

    3. 下载对应的whl文件后,在cmd下进入whl所在的文件夹
      在这里插入图片描述 在这里插入图片描述

    4. 最后再输入pip install wordcloud-1.5.0-cp37-cp37m-win32.whl进行安装就可以了。
      在这里插入图片描述

    最后就可以用了,希望对大家能有帮助!

    展开全文
  • Pycharm第三方库的安装及使用方法

    万次阅读 多人点赞 2019-03-05 14:59:35
    参考博客:https://blog.csdn.net/china_xin1/article/details/80513898 快捷键参考:... 1、Pycharm第三方库的安装 方法一:pip install包名;pip uninstall包名。 方法二:pip in...

    目录

    1、Pycharm第三方库的安装

    2、pycharm常用快捷键

    1、编辑(Editing)

     2、查找/替换(Search/Replace)

     3、运行(Running)

     4、调试(Debugging)

     5、导航(Navigation)

     6、搜索相关(Usage Search)

     7、重构(Refactoring)

     8、控制VCS/Local History

     9、模版(Live Templates)

     3、pycharm常用设置

    4、pycharm环境和路径设置

    python解释器路径

    pycharm中进行python包管理

    python脚本解释路径

    console执行路径和当前工作目录

    pycharm配置os.environ环境

    pycharm配置第三方库代码自动提示 

    Pycharm实用拓展功能

    pycharm中清除已编译.pyc中间文件

    pycharm设置外部工具

    将上面的删除代码改成外部工具

    之后可以通过下面的方式直接执行

    代码质量

    python2转python3最快方式 


     

    参考博客:https://blog.csdn.net/china_xin1/article/details/80513898

    快捷键参考:https://blog.csdn.net/weixin_41059146/article/details/78826163

    1、Pycharm第三方库的安装

    方法一:pip install 包名;pip uninstall 包名。

    方法二:pip install 下载路径\包名.whl (需要先下载第三包:地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/,找到所需的包并下载保存),如下例安装gensim包所示:

    方法三:若在pycharm编辑中,则在菜单setting/project/project interpreter中添加第三包。或者将第三方包放置于pycharm的site-packages目录, 可直接在程序中通过import 包名 来引用了。 

    方法四:先下载第三方包,如http://pypi.python.org/pypi/jieba/ ,解压后在解压路径下运行命令:python setup.py install

     我采用的是方法一,比如安装numpy

    然后打开pychram,file->settings ->project interpreter

     点击+号搜索numpy

     选择pip安装的然后点击 install Package 等一会就会提示安装成功

    2、pycharm常用快捷键

    1、编辑(Editing)

    Ctrl + Space    基本的代码完成(类、方法、属性)
    Ctrl + Alt + Space  快速导入任意类
    Ctrl + Shift + Enter    语句完成
    Ctrl + P    参数信息(在方法中调用参数)
    Ctrl + Q    快速查看文档

    F1   外部文档

    Shift + F1    外部文档,进入web文档主页

    Ctrl + Shift + Z --> Redo 重做

    Ctrl + 鼠标    简介/进入代码定义
    Ctrl + F1    显示错误描述或警告信息
    Alt + Insert    自动生成代码
    Ctrl + O    重新方法
    Ctrl + Alt + T    选中
    Ctrl + /    行注释/取消行注释
    Ctrl + Shift + /    块注释
    Ctrl + W    选中增加的代码块
    Ctrl + Shift + W    回到之前状态
    Ctrl + Shift + ]/[     选定代码块结束、开始
    Alt + Enter    快速修正
    Ctrl + Alt + L     代码格式化
    Ctrl + Alt + O    优化导入
    Ctrl + Alt + I    自动缩进
    Tab / Shift + Tab  缩进、不缩进当前行
    Ctrl+X/Shift+Delete    剪切当前行或选定的代码块到剪贴板
    Ctrl+C/Ctrl+Insert    复制当前行或选定的代码块到剪贴板
    Ctrl+V/Shift+Insert    从剪贴板粘贴
    Ctrl + Shift + V    从最近的缓冲区粘贴
    Ctrl + D  复制选定的区域或行
    Ctrl + Y    删除选定的行
    Ctrl + Shift + J  添加智能线
    Ctrl + Enter   智能线切割
    Shift + Enter    另起一行
    Ctrl + Shift + U  在选定的区域或代码块间切换
    Ctrl + Delete   删除到字符结束
    Ctrl + Backspace   删除到字符开始
    Ctrl + Numpad+/-   展开/折叠代码块(当前位置的:函数,注释等)
    Ctrl + shift + Numpad+/-   展开/折叠所有代码块
    Ctrl + F4   关闭运行的选项卡


     2、查找/替换(Search/Replace)


    F3   下一个
    Shift + F3   前一个
    Ctrl + R   替换
    Ctrl + Shift + F  或者连续2次敲击shift   全局查找{可以在整个项目中查找某个字符串什么的,如查找某个函数名字符串看之前是怎么使用这个函数的}
    Ctrl + Shift + R   全局替换


     3、运行(Running)


    Alt + Shift + F10   运行模式配置
    Alt + Shift + F9    调试模式配置
    Shift + F10    运行
    Shift + F9   调试
    Ctrl + Shift + F10   运行编辑器配置
    Ctrl + Alt + R   运行manage.py任务


     4、调试(Debugging)


    F8   跳过
    F7   进入
    Shift + F8   退出
    Alt + F9    运行游标
    Alt + F8    验证表达式
    Ctrl + Alt + F8   快速验证表达式
    F9    恢复程序
    Ctrl + F8   断点开关
    Ctrl + Shift + F8   查看断点


     5、导航(Navigation)


    Ctrl + N    跳转到类
    Ctrl + Shift + N    跳转到符号
    Alt + Right/Left    跳转到下一个、前一个编辑的选项卡
    F12    回到先前的工具窗口
    Esc    从工具窗口回到编辑窗口
    Shift + Esc   隐藏运行的、最近运行的窗口
    Ctrl + Shift + F4   关闭主动运行的选项卡
    Ctrl + G    查看当前行号、字符号
    Ctrl + E   当前文件弹出,打开最近使用的文件列表
    Ctrl+Alt+Left/Right   后退、前进
    Ctrl+Shift+Backspace    导航到最近编辑区域
    Alt + F1   查找当前文件或标识
    Ctrl+B / Ctrl+Click    跳转到声明
    Ctrl + Alt + B    跳转到实现
    Ctrl + Shift + I查看快速定义
    Ctrl + Shift + B跳转到类型声明
    Ctrl + U跳转到父方法、父类
    Alt + Up/Down跳转到上一个、下一个方法
    Ctrl + ]/[跳转到代码块结束、开始
    Ctrl + F12弹出文件结构
    Ctrl + H类型层次结构
    Ctrl + Shift + H方法层次结构
    Ctrl + Alt + H调用层次结构
    F2 / Shift + F2下一条、前一条高亮的错误
    F4 / Ctrl + Enter编辑资源、查看资源
    Alt + Home显示导航条F11书签开关
    Ctrl + Shift + F11书签助记开关
    Ctrl + #[0-9]跳转到标识的书签
    Shift + F11显示书签


     6、搜索相关(Usage Search)


    Alt + F7/Ctrl + F7文件中查询用法
    Ctrl + Shift + F7文件中用法高亮显示
    Ctrl + Alt + F7显示用法


     7、重构(Refactoring)


    F5复制F6剪切
    Alt + Delete安全删除
    Shift + F6重命名
    Ctrl + F6更改签名
    Ctrl + Alt + N内联
    Ctrl + Alt + M提取方法
    Ctrl + Alt + V提取属性
    Ctrl + Alt + F提取字段
    Ctrl + Alt + C提取常量
    Ctrl + Alt + P提取参数


     8、控制VCS/Local History


    Ctrl + K提交项目
    Ctrl + T更新项目
    Alt + Shift + C查看最近的变化
    Alt + BackQuote(’)VCS快速弹出


     9、模版(Live Templates)


    Ctrl + Alt + J当前行使用模版
    Ctrl +J插入模版
     10、基本(General)
    Alt + #[0-9]打开相应的工具窗口
    Ctrl + Alt + Y同步
    Ctrl + Shift + F12最大化编辑开关
    Alt + Shift + F添加到最喜欢
    Alt + Shift + I根据配置检查当前文件
    Ctrl + BackQuote(’)快速切换当前计划
    Ctrl + Alt + S 打开设置页
    Ctrl + Shift + A查找编辑器里所有的动作
    Ctrl + Tab在窗口间进行切换

     3、pycharm常用设置

     

    lz提示一下,pycharm中的设置是可以导入和导出的,file>export settings可以保存当前pycharm中的设置为jar文件,重装时可以直接import settings>jar文件,就不用重复配置了。

     

    file -> Setting ->Editor

    1. 设置Python自动引入包,要先在 >general > autoimport -> python :show popup

         快捷键:Alt + Enter: 自动添加包
    2. “代码自动完成”时间延时设置

      > Code Completion   -> Auto code completion in (ms):0  -> Autopopup in (ms):500

    3. Pycharm中默认是不能用Ctrl+滚轮改变字体大小的,可以在〉Mouse中设置

    4. 显示“行号”与“空白字符”

      > Appearance  -> 勾选“Show line numbers”、“Show whitespaces”、“Show method separators”

    5. 设置编辑器“颜色与字体”主题

      > Colors & Fonts -> Scheme name -> 选择"monokai"“Darcula”

      说明:先选择“monokai”,再“Save As”为"monokai-pipi",因为默认的主题是“只读的”,一些字体大小颜色什么的都不能修改,拷贝一份后方可修改!

      修改字体大小

    > Colors & Fonts -> Font -> Size -> 设置为“14”

    6. 设置缩进符为制表符“Tab”

      File -> Default Settings -> Code Style

      -> General -> 勾选“Use tab character”

      -> Python -> 勾选“Use tab character”

      -> 其他的语言代码同理设置

    7. 去掉默认折叠
      > Code Folding -> Collapse by default -> 全部去掉勾选

    8. pycharm默认是自动保存的,习惯自己按ctrl + s  的可以进行如下设置:
        > General -> Synchronization -> Save files on frame deactivation  和 Save files automatically if application is idle for .. sec 的勾去掉
        > Editor Tabs -> Mark modified tabs with asterisk 打上勾

    9.>file and code template>python scripts

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    """
    __title__ = '$Package_name'
    __author__ = '$USER'
    __mtime__ = '$DATE'
    # code is far away from bugs with the god animal protecting
        I love animals. They taste delicious.
                  ┏┓      ┏┓
                ┏┛┻━━━┛┻┓
                ┃      ☃      ┃
                ┃  ┳┛  ┗┳  ┃
                ┃      ┻      ┃
                ┗━┓      ┏━┛
                    ┃      ┗━━━┓
                    ┃  神兽保佑    ┣┓
                    ┃ 永无BUG!   ┏┛
                    ┗┓┓┏━┳┓┏┛
                      ┃┫┫  ┃┫┫
                      ┗┻┛  ┗┻┛
    """

    10 python文件默认编码

    File Encodings> IDE Encoding: UTF-8;Project Encoding: UTF-8;

    11. 代码自动整理设置

    这里line breaks去掉√,否则bar, 和baz会分开在不同行,不好看。

    File -> Settings -> appearance

    1. 修改IDE快捷键方案

      > Keymap

    1) execute selection in console : add keymap > ctrl + enter

      系统自带了好几种快捷键方案,下拉框中有如“defaul”,“Visual Studio”,在查找Bug时非常有用,“NetBeans 6.5”,“Default for GNOME”等等可选项,

      因为“Eclipse”方案比较大众,个人用的也比较多,最终选择了“Eclipse”。 

      还是有几个常用的快捷键跟Eclipse不一样,为了能修改,还得先对Eclipse方案拷贝一份: 

      (1).代码提示功能,默认是【Ctrl+空格】,现改为跟Eclipse一样,即【Alt+/】

      Main menu -> code -> Completion -> Basic -> 设置为“Alt+/”

      Main menu -> code -> Completion -> SmartType -> 设置为“Alt+Shift+/”

      不过“Alt+/”默认又被 

      Main menu -> code -> Completion -> Basic -> Cyclic Expand Word 占用,先把它删除再说吧(单击右键删除)!

      (2).关闭当前文档,默认是【Ctrl+F4】,现改为跟Eclipse一样,即【Ctrl+W】

      Main menu -> Window -> Active Tool Window -> Close Active Tab -> 设置为 “Ctrl+F4”;

      Main menu -> Window -> Editor -> Close -> 设置为 “Ctrl+W”;
    2.设置IDE皮肤主题

     

     > Theme -> 选择“Alloy.IDEA Theme”

      或者在setting中搜索theme可以改变主题,所有配色统一改变

    File > settings > build.excution

    每次打开python控制台时自动执行代码

    > console > pyconsole

    import sys
    # print('Python %s on %s' % (sys.version, sys.platform))
    sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS])
    import  os
    print('current workdirectory : ', os.getcwd() )
    import  numpy as  np
    import  scipy as sp
    import  matplotlib as mpl
    如果安装了ipython,则在pyconsole中使用更强大的ipython

    > console

    选中use ipython if available

    这样每次打开pyconsole就会打开ipython

    Note: 在virtualenv中安装ipython: (ubuntu_env) pika:/media/pika/files/mine/python_workspace/ubuntu_env$pip install ipython

     

    File > settings > Languages & Frameworks

     

    如果在项目设置中开启了django支持,打开python console时会自动变成打开django console,当然如果不想这样就关闭项目对django的支持:

    如果打开支持就会在 settings > build.excution > console下多显示一个django console:

    Django console设置如下

     

    import sys
    print('Python %s on %s' % (sys.version, sys.platform))
    import django
    print('Django %s' % django.get_version())
    sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS])
    if 'setup' in dir(django): django.setup()
    import django_manage_shell; django_manage_shell.run(PROJECT_ROOT)
     

    File > settings > Project : initial projectproject dependencies > LDA > project depends on these projects > 选择sim_cluster就可以在LDA中调用sim_cluster中的包

    4、pycharm环境和路径设置

    python解释器路径

    python项目解释器路径

    用于配置python项目执行的python路径

    比如,有的项目是运行的是系统python2.7下的环境;有的是3.4;有的项目使用的是virtualenv的python环境[python虚拟环境配置 - pycharm中的项目配置]

    在pycharm > file > settings > project:pythonworkspace > project interpreter > 选择对应项目 > project interpreter中指定python解释器

    pycharm中运行configuration有一个选项add content roots to pythonpath

    选中后sys.path中会多一整个项目project的路径/media/pika/files/mine/python_workspace,里面的目录就被当成包使用,这样就可以通过from SocialNetworks.SocialNetworks引入不是python包的目录中的文件了。

    不过最好使用sys.path.append(os.path.join(os.path.split(os.path.realpath(__file__))[0],"../.."))来添加,这样在pycharm外也可以运行不出错 。

    pycharm中进行python包管理

    pycharm中的项目中可以包含package、目录(目录名可以有空格)、等等

    目录的某个包中的某个py文件要调用另一个py文件中的函数,首先要将目录设置为source root,这样才能从包中至上至上正确引入函数,否则怎么引入都出错:

    SystemError: Parent module '' not loaded, cannot perform relative import

    Note:目录 > 右键 > make directory as > source root

    python脚本解释路径

    ctrl + shift + f10 / f10 执行python脚本时

    当前工作目录cwd为run/debug configurations 中的working directory

    可在edit configurations > project or defaults中配置

    console执行路径和当前工作目录

    python console中执行时

    cwd为File > settings > build.excution > console > pyconsole中的working directory

    并可在其中配置

    pycharm配置os.environ环境

    pycharm中os.environ不能读取到terminal中的系统环境变量

    pycharm中os.environ不能读取.bashrc参数

    使用pycharm,无论在python console还是在module中使用os.environ返回的dict中都没有~/.bashrc中的设置的变量,但是有/etc/profile中的变量配置。然而在terminal中使用python,os.environ却可以获取~/.bashrc的内容。

    解决方法1:

     

    在~/.bashrc中设置的系统环境只能在terminal shell下运行Spark程序才有效,因为.bashrc is only read for interactive shells.

    如果要在当前用户整个系统中都有效(包括pycharm等等IDE),就应该将系统环境变量设置在~/.profile文件中。如果是设置所有用户整个系统,修改/etc/profile或者/etc/environment吧。

    如SPARK_HOME的设置[Spark:相关错误总结 ]

    解决方法2:在代码中设置,这样不管环境有没有问题了

     

    # spark environment settings
    import sys, os
    os.environ['SPARK_HOME'] = conf.get(SECTION, 'SPARK_HOME')
    sys.path.append(os.path.join(conf.get(SECTION, 'SPARK_HOME'), 'python'))
    os.environ["PYSPARK_PYTHON"] = conf.get(SECTION, 'PYSPARK_PYTHON')
    os.environ['SPARK_LOCAL_IP'] = conf.get(SECTION, 'SPARK_LOCAL_IP')
    os.environ['JAVA_HOME'] = conf.get(SECTION, 'JAVA_HOME')
    os.environ['PYTHONPATH'] = '$SPARK_HOME/python/lib/py4j-0.10.3-src.zip:$PYTHONPATH'

    pycharm配置第三方库代码自动提示 

    Pycharm实用拓展功能

    pycharm中清除已编译.pyc中间文件

    选中你的workspace > 右键 > clean python compiled files

     

    还可以自己写一个清除代码

    pycharm设置外部工具

    [python小工具 ]针对当前pycharm中打开的py文件对应的目录删除其中所有的pyc文件。如果是直接运行(而不是在下面的tools中运行),则删除E:\mine\python_workspace\WebSite目录下的pyc文件。

    将上面的删除代码改成外部工具

    PyCharm > settings > tools > external tools > +添加

    Name: DelPyc

    program: $PyInterpreterDirectory$/python Python安装路径

    Parameters: $ProjectFileDir$/Oth/Utility/DelPyc.py $FileDir$

    Work directory: $FileDir$

    Note:Parameters后面的 $FileDir$参数是说,DelPyc是针对当前pycharm中打开的py文件对应的目录删除其中所有的pyc文件。

    之后可以通过下面的方式直接执行

    Note:再添加一个Tools名为DelPycIn

    program: Python安装路径,e.g.     D:\python3.4.2\python.exe

    Parameters: E:\mine\python_workspace\Utility\DelPyc.py

    Work directory 使用变量 $FileDir$

    参数中没有$FileDir$,这样就可以直接删除常用目录r'E:\mine\python_workspace\WebSite'了,两个一起用更方便

    代码质量

    当你在打字的时候,PyCharm会检查你的代码是否符合PEP8。它会让你知道,你是否有太多的空格或空行等等。如果你愿意,你可以配置PyCharm运行pylint作为外部工具。

    python2转python3最快方式 

    /usr/bin/2to3 -wn $FileDir$

    这样在pycharm中打开某个文件,右键external tools > py2topy3就可以瞬间将当前文件所在目录下的所有py2转换成py3,是不是很机智!
     

     

     

     

     

     

     

     

    展开全文
  • 你有没有遇到过这样的怪事:“pip安装第三方库,但PyCharm中却无法识别的?”如果有,也许你需要看这篇文章,看完你就会知道pip按照的库在哪里;为什么安装后,PyCharm导入不了;以及PyCharm安装第三方库的方法解析...

    Table of Contents

    一、问题具体描述:

    二、解决方法

    1、方法一:在PyCharm下载第三方库(即把之前下的库作废,这里重新再下一次……)

    2、方法二:坚持用pip的方法安装第三方库

    三、扩展延伸——pip install 安装路径问题

       这个是遵守“就近原则”的!

    即:python安装目录解释器就用该目录下的库,项目的解释器就用项目里面的库!


    一、问题具体描述:

      在cmd控制台 pip install xxxx 后并显示安装成功后,并且尝试用cmd 的python 中import xxxx ,没有显示异常,说明这个库是安装成功了的。(这里以安装 virtualenv 为例:)

    但是在PyCharm中导库时却出现了问题,会显示该模块不存在!!!(即在一个项目文件中,import一个未安装的第三方库文件,PyCharm会显示波浪线,即表示此库未安装。)

    那怎么解呢?下面就来简单分析一下。

        之前有问老师这个问题,老师说这是PyCharm这个软件的bug……然后就没有然后了。那要用这个库怎么办?于是我就自个去琢磨了一下:

     

    二、解决方法

    1、方法一:在PyCharm下载第三方库(即把之前下的库作废,这里重新再下一次……)

    1.点击菜单栏File,选择Settings。

    2.选中当前项目,然后点击右边“+”,添加第三方库

    3.(1).搜索栏,搜索所需库。(2).查看该库的当前最新版本。(3).如果有需要下载所需版本(因为有些库之间版本要相互匹配的,这里不深究,遇到你就会懂……)(4).点击下载按钮下载

    下载成功:

    4.回到编辑页面,可以看到,没有错误了,表明已成功导入。

    注:这个可以说是解决了“pip下载成功,pycharm识别不了的问题”,而且这也是一个完整的pycharm安装第三方库的方法。

     

    但是如果你说你不喜欢用这种方法,就要坚持用 pip 呢?那就接着往下看:

    2、方法二:坚持用pip的方法安装第三方库

    1.这里我就新建一个项目:new_project,里面新建一个文件:new_file ;再次导库,如你所见,又出现红色波浪线了,还是识别不了!!!这是怎么回事呢?在上面的方法一中不是已经下载好这个库了吗?!带着疑惑往下看:

    2.点击菜单栏File,选择Settings(和上面一样):会发现这里的依赖库,空空如也……(奇怪吗?我这前下好的virtualenv 库呢?)

    3.接下里看下这个:project  interpreter(项目解释器,学python还是要了解一下这个东东的!如果不知道解释器是啥意思,那我建议:出门左转找度娘(百度),出门右转找哥哥(谷歌))。

           这里有两个解释器(为什么下面再详解),一个是该项目目录下的,另一个是python安装目录下的(注:我的python安装路径为:G:\python-3.7.1),新建项目,好像默认是用该项目目录下的解释器的(当然这个设置在新建项目时是可以修改的,这里只讲默认的),我们应该把这个改成python安装目录下的解释器。

    4.改完后:一大波之前下载过的第三方库全出来了,(注意看最后一个是刚下载的库virtualenv ),OK,问题完美解决!!!

    5.那为什么要这样呢?我们一起来具体分析下:这就涉及到pip install 安装路径问题(见下文……)

     

    三、扩展延伸——pip install 安装路径问题

    1.注:我的python安装路径为:G:\python-3.7.1,而“python.exe”(python解释器)文件也在该目录下:

    2. windows下python的pip install 安装路径为:G:\python-3.7.1\Lib\site-packages,这里面放的都是下载的第三方库。(可以看到最后面两个,就是我之前用cmd下载的库virtualenv)

    3.(1).接下来看下:项目路径:G:\Workspaces\python\new_project

    (2).而新建项目时,pycharm会在该项目里面新建一个解释器(现在应该知道上面为什么会有两个解释器了吧,就是这个原因!!!),该解释器路径:G:\Workspaces\python\new_project\venv\Scripts

    (3).而在 G:\Workspaces\python\new_project\venv\Lib\site-packages 路径下同样是放第三方库的!!!

    4.那么问题来了,这有“两个解释器,两个第三方库”,具体是要用那个呢?

       这个是遵守“就近原则”的!

    即:python安装目录解释器就用该目录下的库,项目的解释器就用项目里面的库!

     

    5.(1)回到之前的问题:“pip成功,pycharm识别不了”,这就是因为新建项目默认解释器是用“项目的解释器”的,但是pip安装的第三方库是在python安装目录下,所以会识别不了。

         (2)在(1)的基础上我们使用方法一安装第三方库,也就是把第三方库下载到项目目录下的第三方库存放目录下(即:\venv\Lib\site-packages),所以它就可以识别了(但是其实这里下载了两个同样的第三方库了,只是存放路径不同罢了。)

          (3)之前提到的第二种方法,就是修改默认解释器为“python安装目录解释器”,这样它就可以识别pip下载的库了。(个人比较喜欢方法二,不解释……)


    OK,这个问题应该算是解决了,如果有大佬发现其中有错误,可以留言指出,先谢过了!

    2019年7月2日 重新编辑,修改了部分内容。

    展开全文
  • 利用Vcpkg轻松集成开源第三方库 1. 为什么要用Vcpkg 1.1. 传统使用开源库的方法 1.1.1. 编译工具 1.1.2. 编译类型 1.1.3. 工程目录设定 1.2. Vcpkg的优点 2. 获取Vcpkg 2.1. 下载Vcpkg 2.2. 编译Vcpkg 3. ...

    利用Vcpkg轻松集成开源第三方库

    1. 为什么要用Vcpkg

    1.1. 传统使用开源库的方法

    Windows下开发C/C++程序,少不了编译开源的第三方库。比如用于网络连接的高性能库libcurl、用于压缩解压的zlib等等。使用这些库开发极大的方便了程序员,使得我们不必重复造轮子。但是使用这些库必须要处理以下问题。

    1.1.1. 编译工具

    由于这些开源库绝大部分都来源于Linux系统,导致其工程文件、编译系统都使用gnu系列工具,使得将其移植到Windows的VC开发环境下一直是难点。尽管最近几年很多开源库都支持了跨平台的cmake,但是编译过程仍然复杂和多样化。

    常见的编译方式有:

    编译方式 特点 举例
    configure、make 需要msys这样的unix环境才可以编译 ffmpeg
    自定义编译工具 需要学习特定的编译命令和工具 openssl、boost
    cmake 相对简单轻松 libcurl
    VC工程文件 这种最简单,直接拿来即可编译

    1.1.2. 编译类型

    当了解了这些还不够,我们还需要考虑预先编译出哪种类型的开源库程序。比如:Debug还是Release、动态库还是静态库、MD还是MT、32位还是64位。光是这三种组合就有16种可能性。如果像libcurl这种还要考虑是否引用其他开源库的功能,那么编译类型的组合会更多。管理起来很麻烦。

    1.1.3. 工程目录设定

    由于多样的编译类型,工程目录也必须仔细设定才能保证自己的软件项目能够正常编译。

    1.2. Vcpkg的优点

    • 自动下载开源库源代码
    • 源码包的缓存管理和版本管理,可以升级版本
    • 轻松编译
    • 依赖关系检查(比如编译libcurl,会自动下载zlib、openssl进行编译)
    • 无缝集成Visual Studio,不需要设置库文件、头文件的所在目录,自动集成。
    • Visual Studio全平台支持,不仅支持Debug/Release、x86/x64编译,还支持UWP、ARM平台的编译。

    2. 获取Vcpkg

    2.1. 下载Vcpkg

    Vcpkg的官方源码站点为:

    https://github.com/microsoft/vcpkg

    一般地,你可以使用git命令克隆一个当前版本下来,或者直接下载压缩包。

    git clone https://github.com/microsoft/vcpkg
    

    2.2. 编译Vcpkg

    注意:

    Vcpkg大量使用的psl脚本,所以官方强烈推荐使用PowerShell而不时CMD命令行来执行各种操作。尽管在使用的时候兼容CMD,但是在编译这一步,请使用PowerShell。

    编译很简单,使用PowerShell执行Vcpkg工程目录下的“bootstrap-vcpkg.bat”命令,即可编译。编译好以后会在同级目录下生成vcpkg.exe文件。编译期间,脚本会自动下载vswhere组件。

    3. 使用Vcpkg

    3.1. 查看Vcpkg支持的开源库列表

    执行命令

    .\vcpkg.exe search
    

    3.2. 安装一个开源库

    这里的“安装”其实是指下载和编译。

    比如我们需要安装常用的jsoncpp库,那么执行命令

    .\vcpkg.exe install jsoncpp
    

    输出:

    The following packages will be built and installed:
        jsoncpp[core]:x86-windows
    Starting package 1/1: jsoncpp:x86-windows
    Building package jsoncpp[core]:x86-windows...
    -- CURRENT_INSTALLED_DIR=H:/Repos/vcpkg/installed/x86-windows
    -- DOWNLOADS=H:/Repos/vcpkg/downloads
    -- CURRENT_PACKAGES_DIR=H:/Repos/vcpkg/packages/jsoncpp_x86-windows
    -- CURRENT_BUILDTREES_DIR=H:/Repos/vcpkg/buildtrees/jsoncpp
    -- CURRENT_PORT_DIR=H:/Repos/vcpkg/ports/jsoncpp/.
    -- Downloading https://github.com/open-source-parsers/jsoncpp/archive/1.8.1.tar.gz...
    -- Downloading https://github.com/open-source-parsers/jsoncpp/archive/1.8.1.tar.gz... OK
    -- Testing integrity of downloaded file...
    -- Testing integrity of downloaded file... OK
    -- Extracting source H:/Repos/vcpkg/downloads/open-source-parsers-jsoncpp-1.8.1.tar.gz
    -- Extracting done
    -- Configuring x86-windows-rel
    -- Configuring x86-windows-rel done
    -- Configuring x86-windows-dbg
    -- Configuring x86-windows-dbg done
    -- Build x86-windows-rel
    -- Build x86-windows-rel done
    -- Build x86-windows-dbg
    -- Build x86-windows-dbg done
    -- Performing post-build validation
    -- Performing post-build validation done
    Building package jsoncpp[core]:x86-windows... done
    Installing package jsoncpp[core]:x86-windows...
    Installing package jsoncpp[core]:x86-windows... done
    Elapsed time for package jsoncpp:x86-windows: 47.81 s
    
    Total elapsed time: 47.81 s
    
    The package jsoncpp:x86-windows provides CMake targets:
    
        find_package(jsoncpp REQUIRED)
        target_link_libraries(main PRIVATE jsoncpp_lib)
    

    我们大致可以了解到install会经历这几个过程:

    1. 环境初始化
    2. 下载源代码(如果已经在cache中,则不下载)
    3. 校验文件有效性
    4. 解压缩源代码
    5. 利用配套工具配置源码工程,在这里是使用的是cmake(如果是ffmpeg,则用msys2)
    6. 编译源码。一般会同时编译Release和Debug版本。
    7. 把编译好的文件拷贝到相关目录中去(一般是installed目录)

    注意点:

    如果电脑中没有安装cmake,vcpkg会自动下载portable版本的cmake。但是由于各种原因,下载的网速很慢,所以建议先自行下载安装msi版本的cmake。最好是下载最新版本的cmake。

    3.3. 指定编译某种架构的程序库

    如果不指定安装的架构,vcpkg默认把开源库编译成x86的Windows版本的库。那vcpkg总共支持多少种架构呢?我们可以使用如下命令便知:

    .\vcpkg.exe help triplet
    

    我们可以看到会列出如下清单:

    • arm-uwp
    • arm-windows
    • arm64-uwp
    • arm64-windows
    • x64-uwp
    • x64-windows-static
    • x64-windows
    • x86-uwp
    • x86-windows-static
    • x86-windows

    这个清单以后随着版本的迭代还会再增加。vcpkg不仅支持x86架构,还支持arm架构。注意:这里的arm架构特指类似于surface这种运行在arm处理器上的Win10平台,而并非我们传统意义上的Linux或android的ARM平台。

    那如果要安装编译某一个架构的开源库,我们该怎么写呢?我们只需要在需要安装的包后面指定相应的triplet即可。例如我们需要编译64位版本的jsoncpp,那么执行如下命令即可。

    .\vcpkg.exe install jsoncpp:x64-windows
    

    3.4. 移除一个已经安装(编译)的开源库

    如果移除一个已经安装的开源库,那么执行remove指令即可。比如我们要移除jsoncpp,那么执行命令:

    .\vcpkg.exe remove jsoncpp
    

    注意:

    • 这个时候只是移除了默认的x86-winodws版本的文件,如果有其他平台的版本需要移除,需要制定相应的triplet。
    • 移除也只是移除了二进制程序库而已,源码包和解压缩的源码并没有删除。

    如果想要一键移除“过时”的包,执行命令:

    .\vcpkg.exe remove --outdated
    

    3.5. 列出已经安装的开源库

    执行list指令即可,例如:

    .\vcpkg.exe list
    

    3.6. 更新已经安装的开源库

    一般有两种更新方式。一个是update指令,可以显示可以升级的开源库的列表。另一个是upgrade的指令,会重新编译所有需要更新的包。

    3.7. 导出已经安装的开源库

    有的时候,一个项目组中有很多人,不需要每个人都参与编译。一个人编译好所有开源库后到处给别人即可。有的时候也是出于备份的目的,也会导出已经安装的开源库。导出可以执行export指令。例如,我要导出jsoncpp库,那么执行:

    .\vcpkg.exe export jsoncpp --7zip
    

    注意,导出时必须指定导出的包格式。vcpkg支持5种导出包格式,有:

    参数 格式
    –raw 以不打包的目录格式导出
    –nuget 以nuget包形式导出
    –ifw 我也不知道这是啥格式
    –zip 以zip压缩包形式导出
    –7zip 以7z压缩包形式导出

    一般地,导出包的格式为:vcpkg-export-<日期>-<时间>

    默认情况下只会导出x86-windows的包,如果要导出所有包,那需要制定相应的triplet。比如,如果同时导出x86和x64版本的jsoncpp,那执行命令:

    .\vcpkg.exe export jsoncpp jsoncpp:x64-windows --7zip
    

    这个命令等价于:

    .\vcpkg.exe export jsoncpp:x86-windows jsoncpp:x64-windows --7zip
    

    如果要指定输出目录和特定文件名,需使用"–output="参数

    3.8. 导入备份的开源库

    导入比较简单,执行import指令即可。例如:

    .\vcpkg.exe import xxx.7z
    

    4. Vcpkg和Visual Studio的集成

    4.1. 什么是集成?

    上面我们已经安装了一些第三方库,那如何使用呢?常规情况下,我们需要设置include目录、lib目录等,会有很多工作量。Vcpkg提供了一套机制,可以全自动的适配目录,而开发者不需要关心已安装的库的目录在哪里,也不需要设置。这是Vcpkg的一大优势。

    4.2. 集成到全局

    “集成到全局”适用于Visual Studio开发环境和msbuild命令行。执行命令:

     .\vcpkg integrate install
    

    当出现“Applied user-wide integration for this vcpkg root.”字样的时候,说明已经集成成功。这时候可以在任意的工程中使用安装好的第三方库。

    4.3. 移除全局集成

    移除全局集成只要执行下列命令即可:

     .\vcpkg integrate remove
    

    4.4. 集成到工程

    上面已经可以集成到全局,为什么还要“集成到工程”呢?因为在大部分情况下,我们不希望集成到全局,毕竟有很多第三方库我们希望自定义处理一下,或者干脆不想集成第三方库。那么集成到工程是最灵活的处理方式。也是工程级项目推荐的处理方式。

    “集成到工程”是整个vcpkg中最复杂的一项,它需要利用Visual Studio 中的nuget插件来实现。我们接下来一步一步来说。

    4.4.1. 生成配置

    执行命令

     .\vcpkg integrate project
    

    这时候会在“<vcpkg_dir>\scripts\buildsystems”目录下,生成nuget配置文件.

    其中<vcpkg_dir>是指vcpkg实际所在目录。

    4.4.2. 基本配置

    打开Visual Studio,点击菜单“工具->NuGet包管理器->程序包管理器设置”,进入设置界面,点击“程序包源”。


    点击“加号”增加一个源。修改源的名字为vcpkg。在“源”的选项中点击右侧的"…"选择vcpkg目录下的“scripts\buildsystems”目录,然后点击右侧的“更新按钮”。

    点击“确定”,关闭设置对话框。

    到此,全局性的设置已经完成,以后不必再重复设置了。

    4.4.3. 工程配置

    用Visual Studio 打开一个工程或解决方案。右键点击需要设置的工程,选择“管理NuGet程序包”。在右上角的“程序包源”中选择刚刚设置的“vcpkg”。这样在“浏览”选项卡中就可以看到“vcpkg.H.Repos.vcpkg”。点击最右侧的“安装”。这样就可以集成到某个工程了。

    4.5. 集成到CMake

    最新的Visual Studio 2015和2017大力支持CMake工程,所以对cmake的支持当然不能少。在cmake中集成只要在cmake文件中加入下面这句话即可。

    -DCMAKE_TOOLCHAIN_FILE=<vcpkg_dir>/scripts/buildsystems/vcpkg.cmake"

    其中<vcpkg_dir>是指vcpkg实际所在目录。

    4.6. 集成静态库

    Vcpkg默认编译链接的是动态库,如果要链接静态库,目前还没有简便的方法。需要做如下操作

    1. 用文本方式打开vcxproj工程文件
    2. 在xml的段里面增加如下两句话即可
    <VcpkgTriplet>x86-windows-static</VcpkgTriplet>
    <VcpkgEnabled>true</VcpkgEnabled>
    

    在CMake中集成静态库,需要额外指令

    cmake .. -DCMAKE_TOOLCHAIN_FILE=.../vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x86-windows-static
    

    5. 使用Vcpkg时的注意点

    • Vcpkg仅支持Visual Studio 2015 update 3及以上版本(包括Visual Studio 2017),究其原因,很可能和c++11的支持度以及集成原理有关系。
    • 目前Vcpkg编译静态库,默认只支持MT模式。

    6. 小结

    Vcpkg目前还在不断的完善中,但不可否认,它已经极大的减少了我们在项目启动时,准备第三方库的时间。提高了工作效率。按照时髦的话来说,就是避免了重复造轮子。目前Vcpkg已经集成了上百个常用的开源库,而且数量还在不停增长。毕竟是微软旗下的开源项目,质量还是可以得到保障的,完全可以在工业级项目中得以使用。源代码托管在github上,github社区很活跃,有兴趣的朋友也可以参与进来。

    作者简介:陈建明,目前就职于agora声网。

    展开全文
  • pycharm查看第三方库安装路径

    万次阅读 多人点赞 2018-05-30 10:51:57
    pycharm查看第三方库安装路径 更多原创性能测试文章关注 十年性能测试专家&7DGroup公众号 1、在文件--setting 2、鼠标放在安装好的第三方库名称上,自动显示安装路径 ...
  • Python常用第三方库——简介及下载地址

    万次阅读 多人点赞 2019-02-22 15:42:25
    Python常用第三方库 可以在 The Python Package Index (PyPI) 软件库(官网主页:https://pypi.org/)查询、下载 和 发布Python包或库。 网络爬虫 requests:https://pypi.org/project/requests/ 简洁且简单的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 65,893
精华内容 26,357
关键字:

第三方库