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:[email protected]:8080 https: https://user:[email protected]: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-image 0.13.1 py36h14c3975_1 defaults scikit-learn 0.19.1 py36h7aa7ec6_0 defaults scipy 1.0.0 py36hbf646e7_0 defaults Scrapy 1.5.0 <pip> seaborn 0.8.1 py36hfad7ec4_0 defaults send2trash 1.4.2 py36_0 defaults service-identity 17.0.0 <pip> 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.0 py36h6d0f590_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 sympy 1.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=<not set> 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=<not set> SSL_CERT_FILE=<not set> WINDOWPATH=1 ftp_proxy=<set> http_proxy=<set> https_proxy=<set> socks_proxy=<set> 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 <https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/linux-64/repodata.json> 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('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f693e9ef780>: 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 State PID/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 tcp6 0 0 :::902 :::* LISTEN 1865/vmware-authdla tcp6 0 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=360sou_newhome&q=python" 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

2018-06-22 12-38-02屏幕截图.png

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

猜你喜欢

转载自www.cnblogs.com/xyou/p/9222695.html