栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python所遇到的坑

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python所遇到的坑

我是在ubuntu中,自带的有python2,python3有安装了anaconda套件,所以python的版本很多,曾经想删除过不用的python.

先执行

sudo apt remove python*

在想安装anaconda,结果悲剧了,xorg没有了,结果只能cmd玩耍了,一气之下重装ubuntu18系统了

dflx@dflx:~$ ps -t tty1
  PID TTY   TIME CMD
 1889 tty1     00:00:00 gdm-x-session
 1891 tty1     00:11:38 Xorg
 2051 tty1     00:00:00 gnome-session-b
 2365 tty1     00:16:43 gnome-shell
 2520 tty1     00:00:00 ibus-daemon

我的python情况

dflx@dflx:~$ python
python      python3     python3.6m  python3m
python2     python3.6   python3.6m-config  python3m-config
python2.7   python3.6-config   python3-config     

python路径

dflx@dflx:~$ whereis python
python: /usr/bin/python2.7 
/usr/bin/python3.6m-config 
/usr/bin/python /usr/bin/python3.6
 /usr/bin/python3.6m 
/usr/bin/python3.6-config 
/usr/lib/python2.7 
/usr/lib/python3.7 
/usr/lib/python3.6 
/etc/python2.7 
/etc/python /etc/python3.6 /usr/local/lib/python2.7 /usr/local/lib/python3.6 /usr/include/python3.6 /usr/include/python3.6m /usr/share/python /home/dflx/anaconda3/bin/python3.6m-config /home/dflx/anaconda3/bin/python /home/dflx/anaconda3/bin/python3.6 /home/dflx/anaconda3/bin/python3.6m /home/dflx/anaconda3/bin/python3.6-config /usr/share/man/man1/python.1.gz
dflx@dflx:~$ which python
/home/dflx/anaconda3/bin/python

find查找命令
find <指定目录> <指定条件> <指定动作>“;
比如使用find命令,搜索在根目录下的所有condarc文件[anaconda源配置文件]所在位置,命令格式为find / -name "condarc"

dflx@dflx:~$ find  / -name "condarc"
find: ‘/tmp/systemd-private-f3c0644e26174362bd722c3ae1177b11-systemd-timesyncd.service-58avLb’: 权限不够
find: ‘/tmp/systemd-private-f3c0644e26174362bd722c3ae1177b11-bolt.service-lPkFIh’: 权限不够
find: ‘/tmp/vmware-root’: 权限不够
find: ‘/tmp/pulse-PKdhtXMmr18n’: 权限不够
find: ‘/tmp/systemd-private-f3c0644e26174362bd722c3ae1177b11-colord.service-vIICqI’: 权限不够
/home/dflx/anaconda3/pkgs/conda-4.4.10-py36_0/info/test/tests/condarc
/home/dflx/anaconda3/pkgs/conda-4.5.4-py36_0/info/test/tests/condarc

cat 查看

dflx@dflx:~$ cat /home/dflx/anaconda3/pkgs/conda-4.4.10-py36_0/info/test/tests/condarc
# This is a sample .condarc file

# channel locations. These override conda defaults, i.e., conda will
# search *only* the channels listed here, in the order given. Use "defaults" to
# automatically include all default channels. Non-url channels will be
# interpreted as binstar usernames (this can be changed by modifying the
# channel_alias key; see below).
channels:
  - binstar_username
  - http://some.custom/channel
  - defaults

# Alias to use for non-url channels used with the -c flag. Default is https://conda.binstar.org/

............

查看另外一个

dflx@dflx:~$ cat /home/dflx/anaconda3/pkgs/conda-4.5.4-py36_0/info/test/tests/condarc
# This is a sample .condarc file

# channel locations. These override conda defaults, i.e., conda will
# search *only* the channels listed here, in the order given. Use "defaults" to
# automatically include all default channels. Non-url channels will be
# interpreted as binstar usernames (this can be changed by modifying the
# channel_alias key; see below).
channels:
  - binstar_username
  - http://some.custom/channel
  - defaults

# Alias to use for non-url channels used with the -c flag. Default is https://conda.binstar.org/

channel_alias: https://your.repo/

# Proxy settings: http://[username]:[password]@[server]:[port]
proxy_servers:
    http: http://user:pass@corp.com:8080
    https: https://user:pass@corp.com:8080

查看源url

dflx@dflx:~$ conda config --show
add_anaconda_token: True
add_pip_as_python_dependency: True
aggressive_update_packages:
  - ca-certificates
  - certifi
  - openssl
allow_non_channel_urls: False
allow_softlinks: False
always_copy: False
always_softlink: False
always_yes: None
anaconda_upload: None
auto_update_conda: True
changeps1: True
channel_alias: https://conda.anaconda.org
channel_priority: True
channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
  - defaults
  - conda-forge

在就是配置了一下多环境,我把vscode配ubuntu本身的python环境.因为我的selenium包,怎么在conda都安装不上.

dflx@dflx:~$ conda list 
#只放了s 开头的包
scikit-image0.13.1    py36h14c3975_1    defaults
scikit-learn0.19.1    py36h7aa7ec6_0    defaults
scipy1.0.0     py36hbf646e7_0    defaults
Scrapy      1.5.0
seaborn     0.8.1     py36hfad7ec4_0    defaults
send2trash  1.4.2      py36_0    defaults
service-identity   17.0.0      
setuptools  38.4.0     py36_0    defaults
simplegeneric      0.8.1      py36_2    defaults
singledispatch     3.4.0.3   py36h7a266c3_0    defaults
sip  4.18.1    py36h51ed4ed_2    defaults
six  1.11.0    py36h372c433_1    defaults
snowballstemmer    1.2.1     py36h6febd40_0    defaults
sortedcollections  0.5.3     py36h3c761f9_0    defaults
sortedcontainers   1.5.9      py36_0    defaults
sphinx      1.6.6      py36_0    defaults
sphinxcontrib      1.0py36h6d0f590_1    defaults
sphinxcontrib-websupport  1.0.1     py36hb5cb234_1    defaults
spyder      3.2.6      py36_0    defaults
sqlalchemy  1.2.1     py36h14c3975_0    defaults
sqlite      3.22.0 h1bed415_0    defaults
statsmodels 0.8.0     py36h8533d0b_0    defaults
sympy1.1.1     py36hc6d1c1c_0    defaults
tblib      

然而ubuntu自带的python包的情况如下

dflx@dflx:~$ pip3 list
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
requests-unixsocket (0.1.5)
SecretStorage (2.3.1)
selenium (3.12.0)
setuptools (39.1.0)
simplejson (3.15.0)
six (1.11.0)
system-service (0.3)
systemd-python (234)
traitlets (4.3.2)

我anaconda安装selenium好像出错,我已经修改源的来源了.........

dflx@dflx:~$ conda install selenium
Solving environment: failed

# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<

`$ /home/dflx/anaconda3/bin/conda install selenium`

  environment variables:
   CIO_TEST=
  CLASSPATH=.::/opt/java/jdk-9.0.1/lib:/opt/java/jdk-9.0.1/jre/lib
 CONDA_ROOT=/home/dflx/anaconda3
     DEFAULTS_PATH=/usr/share/gconf/ubuntu.default.path
    MANDATORY_PATH=/usr/share/gconf/ubuntu.mandatory.path
PATH=/home/dflx/anaconda3/bin:/home/dflx/.local/bin:/usr/local/sbin:/usr/lo
     cal/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/sna
     p/bin:/opt/java/jdk-9.0.1/bin:/opt/java/jdk-9.0.1/jre/bin
REQUESTS_CA_BUNDLE=
     SSL_CERT_FILE=
 WINDOWPATH=1
  ftp_proxy=
 http_proxy=
https_proxy=
socks_proxy=

     active environment : None
user config file : /home/dflx/.condarc
 populated config files : /home/dflx/.condarc
   conda version : 4.5.4
    conda-build version : 3.4.1
  python version : 3.6.4.final.0
base environment : /home/dflx/anaconda3  (writable)
    channel URLs : https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64
     https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/noarch
     https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64
     https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch
     https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/linux-64
     https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/noarch
   package cache : /home/dflx/anaconda3/pkgs
     /home/dflx/.conda/pkgs
envs directories : /home/dflx/anaconda3/envs
     /home/dflx/.conda/envs
 platform : linux-64
      user-agent : conda/4.5.4 requests/2.18.4 CPython/3.6.4 Linux/4.15.0-23-generic ubuntu/18.10 glibc/2.27
  UID:GID : 1000:1000
      netrc file : None
    offline mode : False

V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V

CondaHTTPError: HTTP 000 ConNECTION FAILED for url 
Elapsed: -

An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.
ProxyError(MaxRetryError("HTTPSConnectionPool(host='mirrors.tuna.tsinghua.edu.cn', port=443): Max retries exceeded with url: /anaconda/cloud/msys2/linux-64/repodata.json (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',)))",),)

A reportable application error has occurred. Conda has prepared the above report.
If submitted, this report will be used by core maintainers to improve
future releases of conda.
Would you like conda to send this report to the core maintainers?
[y/N]: n

No report sent. To permanently opt-out, use

    $ conda config --set report_errors false

估计解决不了了,不折腾,采用自带python测试一下.

终于找到bug了,应该是代理服务的鬼

在使用wegt下载的时候发现的

dflx@dflx:~$ wget https://bootstrap.pypa.io/get-pip.py
--2018-06-22 16:37:01--  https://bootstrap.pypa.io/get-pip.py
正在连接 127.0.0.1:8888... 失败:拒绝连接。

使用netstat查看本地端口的使用情况

dflx@dflx:~$ sudo netstat -ntpl
激活Internet连接 (仅服务器)
Proto Recv-Q Send-Q Local Address    Foreign Address  StatePID/Program name    
tcp 0      0 0.0.0.0:902      0.0.0.0:* LISTEN      1865/vmware-authdla 
tcp 0      0 0.0.0.0:8084     0.0.0.0:* LISTEN      1313/mono    
tcp 0      0 127.0.0.53:53    0.0.0.0:* LISTEN      762/systemd-resolve 
tcp 0      0 127.0.0.1:631    0.0.0.0:* LISTEN      942/cupsd    
tcp60      0 :::902    :::*      LISTEN      1865/vmware-authdla 
tcp60      0 ::1:631   :::*      LISTEN      942/cupsd      

发现并没有服务在占用端口8888

查看本地网络是否走了代理服务

dflx@dflx:~$ export | grep -i prox
declare -x ftp_proxy=""
declare -x http_proxy="127.0.0.1:8888"
declare -x https_proxy="127.0.0.1:8888"
declare -x socks_proxy=""

在找到了被占用的端口的8888, 确实是走了代理,于是问题找到了。

关闭服务
dflx@dflx:~$ unset https_proxy
dflx@dflx:~$ export | grep -i prox
declare -x ftp_proxy=""
declare -x http_proxy="127.0.0.1:8888"
declare -x socks_proxy=""

测试selenium,可以使用

from selenium import webdriver
req_url= "http://www.haosou.com/s?ie=utf-8&shb=1&src=https://www.mshxw.com/skin/sinaskin/image/nopic.gif"
browser= webdriver.Firefox()
browser.get(req_url)

vscode控制带的结果

dflx@dflx:~/文档/python$ cd /home/dflx/文档/python ; 
env "PYTHonIOENCODING=UTF-8" "PYTHonUNBUFFERED=1" /usr/bin/python3m /home/dflx/.vscode/extensions/ms-python.python-2018.6.0/pythonFiles/PythonTools/visualstudio_py_launcher.py 
/home/dflx/文档/python 42367 34806ad9-833a-4524-8cd6-18ca4aa74f14 
RedirectOutput,RedirectOutput /home/dflx/文档/python/bloy.py

参考文章
Linux下怎样搜索文件
CondaHTTPError: HTTP 000 ConNECTION FAILED for url
wget 正在连接 127.0.0.1:36627... 失败:拒绝连接

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/220298.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号