通过 Conda 命令创建 Python 虚拟环境后,利用 pip list 命令查看包列表,发现有很多多余的包,并不是一个干净的虚拟环境。问题出现的具体操作如下:
# 创建 Python 虚拟环境
$ conda create -n env python=3.6
# 激活 Python 虚拟环境
$ conda activate env
# 查看包列表
$ pip list
Package Version
--------------- -------------------
autopep8 1.5.4
certifi 2020.12.5
cycler 0.10.0
kiwisolver 1.3.1
matplotlib 3.3.3
Pillow 8.0.1
pip 20.3.3
pycodestyle 2.6.0
python-dateutil 2.8.1
scipy 1.5.4
setuptools 51.1.2.post20210112
toml 0.10.2
wheel 0.36.2
经过调研发现并不是 Conda 创建的 Python 虚拟环境不纯净,而是 Pip 列出了用户安装的包。可以通过如下命令进行查看:
# 查看 sys.path,确认 pip 列出包的来源
$ python -m site
sys.path = [
'/data/xxx',
'/data/xxx/.anaconda3/envs/env/lib/python36.zip',
'/data/xxx/.anaconda3/envs/env/lib/python3.6',
'/data/xxx/.anaconda3/envs/env/lib/python3.6/lib-dynload',
'/data/xxx/.local/lib/python3.6/site-packages',
'/data/xxx/.anaconda3/envs/env/lib/python3.6/site-packages',
]
USER_BASE: '/data/xxx/.local' (exists)
USER_SITE: '/data/xxx/.local/lib/python3.6/site-packages' (exists)
ENABLE_USER_SITE: True
可以看到 ENABLE_USER_SITE 的值为 True ,且 USER_SITE 的路径为 /data/xxx/.local/lib/python3.6/site-packages ,查看该路径后发现 pip list 列出的包确实是该目录下的。
了解了问题出现的原因,那我们只需要把 ENABLE_USER_SITE 的值设置为 FALSE 即可。具体的操作过程如下:
# 查看 site.py 的位置
$ python -m site --help
/data/xxx/.anaconda3/envs/env/lib/python3.6/site.py [--user-base] [--user-site]
Without arguments print some useful information
With arguments print the value of USER_BASE and/or USER_SITE separated
by ':'.
Exit codes with --user-base or --user-site:
0 - user site directory is enabled
1 - user site directory is disabled by user
2 - uses site directory is disabled by super user
or for security reasons
>2 - unknown error
# 可以看到 site.py 的位置为 /data/xxx/.anaconda3/envs/env/lib/python3.6/site.py
# 编辑该文件,找到 ENABLE_USER_SITE 并将其设置为 False
$ vim /data/xxx/.anaconda3/envs/env/lib/python3.6/site.py
# 再次查看 sys.path 的路径,发现 ENABLE_USER_SITE 的值已经变为了 False
$ python -m site
sys.path = [
'/data/xxx',
'/data/xxx/.anaconda3/envs/env/lib/python36.zip',
'/data/xxx/.anaconda3/envs/env/lib/python3.6',
'/data/xxx/.anaconda3/envs/env/lib/python3.6/lib-dynload',
'/data/xxx/.anaconda3/envs/env/lib/python3.6/site-packages',
]
USER_BASE: '/data/xxx/.local' (exists)
USER_SITE: '/data/xxx/.local/lib/python3.6/site-packages' (exists)
ENABLE_USER_SITE: False
# 再次查看 pip list 包列表,已经没了多余的包
$ pip list
Package Version
---------- -------------------
certifi 2020.12.5
pip 20.3.3
setuptools 51.1.2.post20210112
wheel 0.36.2
出于纯粹的兴趣,我很好奇如何按顺序创建PI,而不是在过程结果之后生成数字,而是让数字在过程本身生成时显示。如果是这种情况,那么数字可以自行产生,我可以对以前看到的数字实现垃圾收集,从而创建一个无限系列。结果只是在Pi系列之后每秒生成一个数字。这是我通过互联网筛选的结果:这是流行的计算机友好算法,类机器算法:defarccot(x,unity)xpow=unity/xn=1sign=1sum=0loopdoterm=xpow/nbreakifterm==0sum+=sign*(xpow/n)xpow/=x*xn+=2sign=-signendsumenddefcalc_pi(digits
我正在使用i18n从头开始构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在rubyonrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po
尝试通过RVM将RubyGems升级到版本1.8.10并出现此错误:$rvmrubygemslatestRemovingoldRubygemsfiles...Installingrubygems-1.8.10forruby-1.9.2-p180...ERROR:Errorrunning'GEM_PATH="/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global:/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/rub
使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta
我看到这个错误:translationmissing:da.datetime.distance_in_words.about_x_hours我的语言环境文件:http://pastie.org/2944890我的看法:我已将其添加到我的application.rb中:config.i18n.load_path+=Dir[Rails.root.join('my','locales','*.{rb,yml}').to_s]config.i18n.default_locale=:da如果我删除I18配置,帮助程序会处理英语。更新:我在config/enviorments/devolpment
我对最新版本的Rails有疑问。我创建了一个新应用程序(railsnewMyProject),但我没有脚本/生成,只有脚本/rails,当我输入ruby./script/railsgeneratepluginmy_plugin"Couldnotfindgeneratorplugin.".你知道如何生成插件模板吗?没有这个命令可以创建插件吗?PS:我正在使用Rails3.2.1和ruby1.8.7[universal-darwin11.0] 最佳答案 随着Rails3.2.0的发布,插件生成器已经被移除。查看变更日志here.现在
如何使用RSpec::Core::RakeTask初始化RSpecRake任务?require'rspec/core/rake_task'RSpec::Core::RakeTask.newdo|t|#whatdoIputinhere?endInitialize函数记录在http://rubydoc.info/github/rspec/rspec-core/RSpec/Core/RakeTask#initialize-instance_method没有很好的记录;它只是说:-(RakeTask)initialize(*args,&task_block)AnewinstanceofRake
我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search