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-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

参考文章
Linux下怎样搜索文件
CondaHTTPError: HTTP 000 CONNECTION FAILED for url
wget 正在连接 127.0.0.1:36627... 失败:拒绝连接
python所遇到的坑的更多相关文章
- python中的这些坑,早看早避免。
python中的这些坑,早看早避免. 说一说python中遇到的坑,躲坑看这一篇就够了 传递参数时候不要使用列表 def foo(num,age=[]): age.append(num) print( ...
- 学Python要避免哪些坑,如何巩固好基础
学Python要避免哪些坑?零基础怎么入门Python?Python入门简单.语法简洁.功能强大,非常适合零基础入门IT行业的人学习.随着人工智能时代的来临,企业纷纷选择使用Python进行开发,Py ...
- 决策树python建模中的坑 :ValueError: Expected 2D array, got 1D array instead:
决策树python建模中的坑 代码 #coding=utf-8 from sklearn.feature_extraction import DictVectorizerimport csvfrom ...
- Python的16个“坑”
1. 不要使用可变对象作为函数默认值 代码如下: In [1]: def append_to_list(value, def_list=[]): ...: def_list.append(value) ...
- 用Java执行Python:Jython踩坑笔记
常见的java调用python脚本方式 1.通过Jython.jar提供的类库实现 2.通过Runtime.getRuntime()开启进程来执行脚本文件 1.Jython Jpython使用时,版本 ...
- Python默认参数的坑
默认参数的坑 定义一个函数,传入一个list,添加一个end再返回 def add_end(L=[]): L.append('END') return L 正常调用时,结果似乎不错 print add ...
- Python 中的那些坑总结——持续更新
1.三元表达式之坑 很显然,Python把第一行的(10 + 4)看成了三元表达式的前部分,这个坑是看了<Python cookbook>(P5)中学到的,书中的代码: 2.Python生 ...
- Python的15个坑
1. 不要使用可变对象作为函数默认值 代码如下: In [1]: def append_to_list(value, def_list=[]): ...: def_list.ap ...
- python网络编程的坑(持续更新)
初学python,踩了许多坑...每天都学一点吧..(大佬绕过) 1.session的用法: session是python requests库中的一个重要功能.session可以存储用户的数据并且存储 ...
- python之tkinter入坑Pack()------(1)
tkinter 的pack()可以设置的属性如下: pack_configure(self, cnf={}, **kw)Pack a widget in the parent widget. Use ...
随机推荐
- regex_replace
Regex_iterator方法需要输入一个正则表达式,以及一个用于替换匹配的字符串的格式化字符串:这个格式化的字符串可以通过表的转义序列引用匹配子字符串的部分内容: 转义序列 $n 替换第n个捕获的 ...
- Python自动化之traceback
import traceback try: 11/a except Exception: b = traceback.format_exc() traceback.format_exc()会存储详细的 ...
- ajax和原生ajax、文件的上传
ajax理解: ajax发送的请求是异步处理的.也就是说如下形式: function f1(){ $.ajax( { ....... success:function(){ a= return a } ...
- PAT乙级1027
1027 打印沙漏 (20 分) 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输 ...
- postmark使用
一.Postmark原理 Postmark是由着名的NAS提供商NetApp开发,用来测试其产品的后端存储性能. Postmark主要用于测试文件系统在邮件系统或电子商务系统中性能,这类应用的特点是: ...
- block本质探寻六之修改变量
说明: <1>阅读本文章,请参照前面的block文章加以理解: <2>本文的变量指的是auto类型的局部变量(包括实例对象): <3>ARC和MRC两种模式均适用: ...
- Xamarin 编写混合APP趟坑记录(二)
前言 公司要开发一个App,为了便于维护和更新,而不用每次去苹果审核,采用的是混合开发方式:用WebVie+WebApp的方式. 因为本人不会Java和ObjectC,公司又不想花钱招这两个岗位的人, ...
- Java-数组队列
Java-数组队列 1.为何要创建一个数组队列? 数组的优点和缺点: 优点:访问速度是所有数据结构中最快的一种. 缺点:大小固定,如果要存储的数据个数不确定的时候? 数组空间不够,导致越界异 ...
- 面向对象之this关键字
方法之间调用,可以通过方法名进行调用.但构造方法,无法通过构造方法名来相互调用. 构造方法之间的调用,可以通过this关键字来完成. l 构造方法调用格式: this(参数列表); l 构造方法的 ...
- #leetcode刷题之路38-报数
报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数.其前五项如下:1. 12. 113. 214. 12115. 1112211 被读作 "one 1" (&quo ...